it-swarm-id.com

Bagaimana Anda mengatasi kesalahan 'ketinggalan zaman'?

Saya telah mencoba memindahkan struktur direktori dari satu lokasi ke lokasi lain di Subversion, tetapi saya mendapatkan kesalahan komit Item '*' is out of date.

Saya telah memeriksa versi terbaru (sejauh yang saya tahu). svn st -u tidak menemukan perbedaan selain dari perintah mv.

329
Tim Visher

Saya terkadang mendapatkan ini dengan TortoiseSVN di windows. Solusi bagi saya adalah dengan svn update direktori, meskipun tidak ada revisi untuk diunduh atau diperbarui. Itu melakukan sesuatu pada metadata, yang secara ajaib memperbaikinya.

617
Michael

Setelah mencoba semua hal yang jelas, dan beberapa saran lainnya di sini, tanpa hasil apa pun, pencarian Google mengarah ke tautan ini (tautan tidak berfungsi lagi) - Subversion mengatakan: File atau direktori Anda mungkin di luar batas -tanggal

Singkatnya, triknya adalah pergi ke direktori . Svn (dalam direktori yang berisi file yang menyinggung), dan hapus file "all-wcprops" .

Bekerja untukku ketika tidak ada yang lain.

41
Tom Bushell

Saya percaya masalah ini berasal dari file .svn. Entah itu salah pada orangtua lama, orangtua baru atau yang lama. Saya akan mencoba kembali ke titik awal Anda. Gunakan ekspor untuk mendapatkan salinan folder yang bersih. Pindahkan salinan bersih ke lokasi baru, dan gunakan tambah dan hapus untuk melakukan pindah. Itu secara manual melakukan apa yang dilakukan SVN, tetapi mungkin berhasil.

39
Jim Deville

Saya telah menemukan bahwa ini bekerja untuk saya:

svn update
svn resolved <dir>
svn commit
31
Per Löwgren

Mencoba memperbarui salinan lokal, dan mengembalikan item yang dimaksud, dan masih mendapatkan kesalahan 'ketinggalan zaman'. Ini berhasil karena beberapa alasan:

svn update --force /path/to/dir/or/file
14
Aaron Hall

Saya baru saja mengalami masalah yang sama di beberapa folder dan inilah yang saya lakukan untuk melakukan:

1) Dalam perspektif "Sinkronisasi Tim", klik kanan pada folder> Override and Update
2) Hapus folder lagi
3) Berkomitmen dan berbahagia

10
Rafael Xavier

Terima kasih. Itu baru saja menyelesaikannya untuk saya. pembaruan svn - memaksa/path ke nama file /

Jika file terbaru Anda di direktori lokal sama, tidak ada konfirmasi. Jika file berbeda, ia meminta tf, mf dll ... memilih ponsel mf (milik saya penuh) memastikan tidak ada yang ditimpa dan saya dapat melakukan ketika selesai.

Jay CompuMatter

5
Jay

Saya berhasil menyelesaikannya dengan menekan tombol pembaruan

5
Alvin567

Seperti yang disarankan @ Alexander-Klyubin, lakukan langkah dalam repositori. Ini juga akan menjadi jauh lebih cepat, terutama jika Anda memiliki banyak data untuk dipindahkan, karena Anda tidak perlu mentransfer semua data itu melalui jaringan lagi.

svn mv https://[email protected]/svn/old/ https://[email protected]/svn/new/

harus bekerja dengan baik

4
Aeon

Hapus file Anda atau path Anda menggunakan sebelum menjalankan perintah lakukan bk perubahan Anda

Sudo rm -r /path/to/dir/

setelah:

svn up and commit or delete 
3
Clamorious

Setidaknya ada satu penyebab lain dari pesan "out of date" error. Dalam kasus saya masalahnya adalah .svn/dir-props yang dibuat dengan menjalankan "svn propset svn: abaikan -F .gitignore." untuk pertama kalinya. Menghapus .svn/dir-props sepertinya ide yang buruk dan dapat menyebabkan kesalahan lain, jadi mungkin yang terbaik adalah menggunakan "svn propdel" untuk membersihkan "svn propset" yang salah.

# Normal state, works fine.
> svn commit -m"bump"  
Sending        eac_cpf.xsl
Transmitting file data .
Committed revision 509.

# Set a property, but forget to commit.
> svn propset svn:ignore -F .gitignore .
property 'svn:ignore' set on '.'

# Edit a file. Should have committed before the edit.
> svn commit -m"bump"                   
Sending        .
svn: Commit failed (details follow):
svn: File or directory '.' is out of date; try updating
svn: resource out of date; try updating

# Delete the property.
> svn propdel svn:ignore .              
property 'svn:ignore' deleted from '.'.

# Now the commit works fine.
> svn commit -m"bump"     
Sending        eac_cpf.xsl
Transmitting file data .
Committed revision 510.
2
infogizmo

Jika Anda menggunakan jembatan github svn, kemungkinan karena sesuatu berubah pada sisi github. Solusinya sederhana, Anda hanya perlu menjalankan svn switch, yang memungkinkannya menemukan dirinya sendiri, kemudian memperbarui dan semuanya akan berfungsi. Jalankan saja berikut ini dari akar checkout Anda

svn info | grep Relative 
svn switch path_from_previous_command
svn update

atau

svn switch `svn info | grep Relative | sed 's_.*: __'`
svn update

Dasar untuk solusi ini berasal dari blog Lee Preimesberger

2
Perkins

Apakah Anda yakin sudah memeriksa kepala dan bukan revisi yang lebih rendah? Juga, sudahkah Anda melakukan pembaruan untuk memastikan Anda mendapatkan versi terbaru?

Ada diskusi tentang ini pada http://svn.haxx.se/users/archive-2007-01/0170.shtml .

2
jgreep

Lakukan pemindahan langsung di repositori.

2
Alexander

Tingkatkan server dan klien Anda ke Subversion 1.9.

Jika kesalahan out of date secara acak terjadi ketika seharusnya tidak, ketika Anda menjalankan komit, itu mungkin menunjukkan bahwa Anda menggunakan Subversion 1.7 yang sudah usang dan tidak didukung klien atau server yang lebih lama.

Anda harus memutakhirkan server dan klien untuk menyelesaikan masalah. Lihat entri Subversion 1.9 Release Notes yang relevan: Kesalahan "kedaluwarsa" ketika melakukan lebih dari HTTPv1.

1
bahrep

Kesalahan adalah karena Anda tidak memperbarui file tertentu, pembaruan pertama maka hanya Anda yang dapat melakukan file.

1
abhishek pant

Apakah Anda memindahkannya menggunakan svn mv, atau hanya mv? Saya pikir menggunakan hanya mv dapat menyebabkan masalah ini.

1
Ryan Bigg

Saya melakukan ini dan itu berhasil untuk saya:
1. Ambil cadangan file Anda. Anda cukup menyalin kode Anda ke file teks.
2. Klik kanan file yang ingin Anda komit >> Tim >> Tampilkan Histori. 3. Pada Panel "Show History" Anda akan melihat semua revisi file itu. Klik kanan pada revisi terbaru file >> Dapatkan Revisi: Ini akan menimpa perubahan lokal Anda.
4. Sekarang, gabungkan kode Anda dengan file terbaru dengan file cadangan (langkah # 1).
5. Sinkronisasi dan Komit file yang baru digabungkan.

1
Sameer Patel

Saya menerima kesalahan ini secara acak setelah menghapus beberapa direktori yang masing-masing berisi beberapa file. Saya menghapus direktori melalui Netbeans dan menyadari bahwa itu tidak benar-benar menghapusnya. Tampaknya hanya menghapus semua yang ada di dalam direktori dan menghapus referensi ke direktori di dalam Netbeans. Mereka masih ada di sistem file. Pastikan mereka dihapus dari sistem file dan coba komit lagi.

1
Bower

Saya memindahkan dir ke mesin lokal saya untuk menjaga keamanan, kemudian svn menghapus direktori bodoh, kemudian melakukan. Ketika saya mencoba untuk menambahkan folder dari mesin lokal saya MASIH melemparkan kesalahan (SVN bergerak melakukan hal yang sama ketika saya mencoba untuk mengganti nama folder). Jadi saya kembali, lalu saya melakukan DIrNAME mkdir, menambahkan, dan berkomitmen. Kemudian saya menambahkan konten dan berkomitmen, dan itu berhasil.

1
Melissa

Jika pernah memecahkan masalah yang sama dengan hanya memeriksa copy pekerjaan baru dan mengganti direktori .svn melempar kesalahan komit dengan yang baru diperiksa ini. Alasan dalam kasus saya adalah bahwa setelah repositori rusak dan memulihkan dari cadangan, copy pekerjaan menunjuk ke revisi yang tidak ada di repositori yang dipulihkan. Juga ada kesalahan "item kedaluwarsa". Memperbarui copy pekerjaan sebelum komit tidak menyelesaikan masalah ini tetapi mengganti .svn seperti yang dijelaskan di atas.

1
fileunderwater

Mencoba semua kecuali ganti .svn secara langsung. Tidak ada yang membantu jadi inilah solusi saya.

Dalam Eclipse> Window> Show View> History Saya telah melihat file itu tidak pada Revisi terbaru, meskipun saya membuat beberapa svn "Override & Update"/"Revert"/hapus file dan checkout.

Jadi saya pergi Package Explorer> Klik kanan pada file> Ganti dengan> Terbaru dari Repositori.

Tampilan lain di History View menunjukkan bahwa file itu sekarang dalam revisi terbaru.

1
katana0815

"Bersihkan" Ini akan membuat Anda di jalur.

Klik kanan pada folder svn dan klik 'Bersihkan', lakukan ini jika Anda mendapatkan kesalahan itu.

1

Dalam kasus saya, hanya menghapus versi lokal dan memeriksa ulang salinan baru adalah solusinya.

0
Macilias

Saya baru saja mendapatkan ini ketika saya mencoba untuk commit dari direktori trunk. Melakukan svn update dari direktori trunk tidak menyelesaikan kesalahan; Namun, melakukan svn update dari direktori induk (tempat direktori .svn berada) benar-benar menyelesaikan kesalahan.

Tebakan saya tentang apa yang terjadi (kasus penggunaan antara lain, mungkin ada beberapa alasan untuk "svn: E160024: sumber daya kedaluwarsa; coba perbarui"): di samping trunk, ada direktori branches. Saya menarik branches/branch-1 ke master dari GitHub. Melakukan svn update dari direktori induk (yaitu, akar dari copy pekerjaan saya) alih-alih trunk tampaknya telah melakukan sesuatu dalam branches selain trunk. Ketika saya mencoba commit lagi, tidak ada kesalahan.

Namun, seperti yang saya katakan di atas, ini adalah satu kasus di antara banyak lainnya.

Catatan: tidak seperti apa yang disarankan seseorang, saya tidak percaya itu ide yang baik untuk bermain secara manual di direktori .svn.

0
Hibou57

saya mendapatkan kesalahan ini ketika mencoba mengkomit beberapa file, hanya saja itu adalah file/folder yang tidak ada dalam copy pekerjaan saya. SAYA BENAR-BENAR tidak ingin melalui kerumitan memindahkan file dan memeriksa ulang, pada akhirnya, saya akhirnya mengedit file .svn/entri dan menghapus referensi direktori yang menyinggung.

0
Al W

Ini terjadi ketika saya memperbarui cabang rilis sebelumnya dengan file dari bagasi. Saya menggunakan Windows Explorer untuk menyalin folder dari folder checkout trunk saya, dan menempelkannya ke tampilan Eclipse saya dari folder checkout branch rilis. Sekarang Windows Explorer dikonfigurasikan untuk tidak menampilkan file "tersembunyi" yang dimulai dengan ".", Jadi saya tidak menyadari semua file .svn yang salah disisipkan ke dalam folder checkout cabang rilis saya. Doh!

Solusi saya adalah menghapus proyek Eclipse yang rusak, memeriksanya lagi, dan kemudian menyalin file-file baru dengan lebih hati-hati. Saya juga mengubah Windows untuk menampilkan file "tersembunyi".

0
Jim Ferrans

Lakukan saja svn ke baris perintah atau jika Anda berada di windows pilih opsi pembaruan svn.

  • Setelah ini selesai, ini memungkinkan Anda untuk melakukan tindakan lebih lanjut seperti melakukan dan lain-lain.
0
Indrajeet Gour

Untuk menyelesaikannya, saya perlu mengembalikan file yang bermasalah, dan memperbarui copy pekerjaan saya, dan kemudian saya memodifikasi file lagi dan setelah langkah-langkah ini kesalahan tidak terjadi lagi.

0
sandolkakos

Saya baru saja mendapat kesalahan ini. Apa yang saya sarankan adalah Anda pertama kali memeriksa server Anda jika ada file asli. Terkadang perubahan tidak dilakukan di folder lokal Anda. Jika ini situasimu, hapus saja foldermu dan checkout lagi.

0
brunch875