Baru-baru ini server svn kami diubah dan kami melakukan pergantian svn.
Karena copy pekerjaan memiliki sejumlah besar sumber daya tidak berversi, copy pekerjaan terkunci dan kami mulai beralih folder dengan folder untuk semua folder di bawah svn, yang berfungsi dengan baik.
Tetapi pada level paling atas dari repositori, ketika saya mencoba memperbarui file, saya mendapatkan svn: Copy pekerjaan '.' kesalahan terkunci dan pembersihan juga tidak membantu. Ketika saya melakukan pembersihan, saya mendapatkan kesalahan seperti ini - svn: 'konten' bukan direktori copy yang berfungsi
Checkout baru BUKAN pilihan sama sekali. Apakah ada cara lain untuk membersihkan dan melepaskan kunci dan melakukan saklar sepenuhnya?
EDIT: Paragraf terakhir dalam jawaban JesperE
Jika Anda mendapatkan "bukan copy pekerjaan" ketika melakukan rekursif "svn cleanup" tebakan saya adalah bahwa Anda memiliki direktori yang seharusnya merupakan copy yang berfungsi (yaitu direktori .svn di tingkat atas mengatakan demikian), tetapi tidak ada memiliki direktori .svn. Dalam hal ini, Anda bisa mencoba menghapus / memindahkan direktori itu dan kemudian melakukan pembaruan lokal
tampaknya menjadi solusi untuk masalah di repositori. Saya telah mengidentifikasi folder-folder itu dan melakukan checkout baru dari folder-folder spesifik itu sendiri dan wow, kunci dilepaskan dalam pembersihan berikutnya! Terima kasih banyak JesperE !!
Tapi, saya masih belum bisa menemukan kesalahan svn switch yang sekarang berbunyi seperti,
svn: Repositori di 'svn: // repourl / reponame / foldername' memiliki uuid 'm / reponame', tetapi WC memiliki 'b5b39681-0ff6-784b-ad26-2846b9ea8e7d'
Ada ide?
Jawaban:
Jika Anda mendapatkan "bukan salinan yang berfungsi" ketika melakukan rekursif
svn cleanup
, dugaan saya adalah bahwa Anda memiliki direktori yang seharusnya merupakan salinan yang berfungsi (yaitu.svn
direktori di tingkat atas mengatakan demikian), tetapi tidak ada.svn
direktori sendiri . Dalam hal ini, Anda bisa mencoba menghapus / memindahkan direktori itu dan kemudian melakukan pembaruan lokal (yaiturm -rf content; svn checkout content
).Jika Anda mendapatkan
not a working copy
kesalahan, itu berarti bahwa Subversion tidak dapat menemukan.svn
direktori yang tepat di sana. Periksa untuk melihat apakah ada.svn
direktori dicontents
Solusi ideal adalah checkout baru, jika memungkinkan.
sumber
rm -rf
menghapus foldercontent
secara permanen. Ambil cadangan sebelum menjalankannya.Saya masuk ke situasi yang sama (
svn: 'papers' is not a working copy directory
) dengan cara yang berbeda, jadi saya pikir saya akan memposting cerita pertempuran saya (disederhanakan):Ups! perbaiki izin ... lalu:
Dan bahkan bergerak
papers
keluar dari jalan dan berjalansvn up
(yang bekerja untuk OP) tidak memperbaikinya. Inilah yang saya lakukan:Itu berhasil.
sumber
Saya menyelesaikannya dengan
Dalam kasus saya masalahnya adalah karena file .svn dihapus.
sumber
Mungkin Anda baru saja menyalin pohon folder dan mencoba menambahkan yang terendah.
dalam hal ini Anda harus mengkomit direktori pada level atas.
sumber
Penanganan masalah: Ganti nama direktori yang bukan 'copy pekerjaan'. Checkout / perbarui / pulihkan direktori ini lagi. Pindahkan file dari direktori yang diubah namanya menjadi perubahan komit baru
Alasan: Anda membuat beberapa perubahan pada beberapa file dalam direktori .svn, ini memecah 'copy pekerjaan'
sumber
Jika Anda membuat file di dalam direktori baru, alih-alih 'svn tambahkan newdir / newfile' gunakan 'svn add newdir' karena Anda perlu menambahkan direktori. Semua file di dalam direktori akan ditambahkan secara default.
sumber
Saya baru saja mendapat "bukan copy pekerjaan", dan bagi saya alasannya adalah Automouter di Unix. Hanya "cd / path / ke / work / direktori" baru melakukan trik.
sumber
Sama, saya perlu memperbarui folder 'contrib':
Saya kasus saya juga masalah itu karena folder .svn dihapus.
Terpecahkan.
sumber
Saya mencoba menempelkan folder .svn dari sub folder ke folder root. Berhasil!!!
sumber
Inilah yang saya lakukan:
sumber
Saya juga menemui masalah ini dalam operasi svn diff, itu disebabkan oleh jalur file yang salah, Anda harus menambahkan
'./'
untuk menunjukkan direktori file saat ini.sumber
Setiap repo subversi memiliki pengidentifikasi unik (uuid). Subversion menggunakan ini untuk memastikan bahwa repo sebenarnya sama ketika melakukan hal-hal seperti beralih. Anda mungkin harus mengubah uuid di server menjadi sama seperti sebelumnya.
sumber
Mungkinkah ini merupakan ketidakcocokan format salinan yang berfungsi? Itu berubah antara svn 1.4 dan 1.5 dan alat-alat yang lebih baru secara otomatis mengkonversi format, tetapi yang lebih lama tidak lagi berfungsi dengan salinan yang dikonversi.
sumber
Anda harus menghapus file SVN - base dari proyek Anda (yang merupakan file hanya baca). Karena ini Anda mendapatkan kesalahan ini.
Lihat proyek baru lagi, gabungkan perubahan (jika ada) dari proyek SVN lama Anda dengan yang baru menggunakan "Winmerge" dan lakukan perubahan di check out terbaru Anda.
sumber
@JesperE menyebutkan bahwa Anda perlu mengubah uuid. Berikut ini akan membantu Anda mencapai ini.
Pada SVN 1.5+, Anda dapat melakukan svnadmin setuuid; Anda kemudian dapat memeriksa apakah sudah diatur dengan benar menggunakan svnlook uuid. Pada versi SVN sebelumnya, ini adalah proses yang lebih sulit. Lihat http://chestofbooks.com/computers/revision-control/subversion-svn/Kelola-Repository-UUIDs-Reposadmin-Maint-Uuids.html
Selain itu UUID "m / reponame" terlihat mencurigakan. Saya percaya ini harus berupa angka hex-diformat seperti copy pekerjaan, jadi mungkin tindakan ini akan meningkatkan segalanya :-)
[Saya awalnya mengomentari jawaban @ JesperE , tetapi membuat jawaban ini untuk membuatnya lebih jelas bagi orang-orang dan lebih bermanfaat bagi Google. Sejak itu saya menghapus komentar saya. ]
sumber
Punya masalah yang sama ini, ternyata kami memiliki Slik 1.6.2 serta Tortoise di mesin yang sama. Tortoise telah diperbarui (dan telah memperbarui copy pekerjaan) tetapi Slik tidak, jadi Tortoise bekerja dengan baik, tetapi baris perintah gagal dengan:
Menghapus Tortoise dan Slik, lalu menginstal ulang Tortoise dengan alat baris perintah diaktifkan, perbaiki ini untuk saya.
sumber
untuk mac: - ambil checkout dari sisi server dan jendela baru akan terbuka untuk memilih direktori dari mesin lokal Anda daripada meletakkan semua kode Anda di folder yang dipilih kemudian buka svn sisi lokal dan tambahkan dan komit proyek
sumber
Hari ini saya menemukan masalah yang sama
/FILE_NAME/ is not a working copy
di pagi hari dan saya telah menghabiskan lebih dari dua jam untuk menyelesaikannya. Setelah lama RND dan Google saya menemukan beberapa solusi dan ituCHECKOUT
.CHECKOUT
dariSUBVERSION
ke lokal sebagai proyek baru.Semoga bermanfaat bagi Anda.
sumber
Baru-baru ini saya menggunakan pengembang lain Mac Saya memiliki situasi yang sama, masalahnya; pertama saya perlu mengetikkan jalur repo ke terminal tapi saya tidak, daripada yang mengatakan apa nama pengguna dan kata sandi Anda.
sumber
Saya baru saja berlari ke dalam kasus di mana direktori .svn berada di server nfs pada mesin yang berbeda, dan klien nfs tidak menjalankan layanan penguncian file (
lockd
).Ini hilang sekali
lockd
dimulai pada host klien nfs.Sepertinya subversi dapat muncul dengan pesan kesalahan yang lebih baik ketika mengalami kesulitan mengunci file. Ini adalah subversi 1.10.0
sumber
Saya membuat checkout baru dari proyek yang sama ke lokasi yang berbeda kemudian menyalin folder .svn darinya dan diganti dengan folder .svn saya yang lama. Setelah itu disebut fungsi pembaruan svn dan semuanya disinkronkan dengan benar up to date.
sumber
Hapus folder .svn yang ada di mesin lokal Anda. Tekan ikon windows dan ketik .svn, hapus seluruh folder. Ini berhasil untuk saya.
sumber