Jika Anda menghapus direktori dari copy pekerjaan SVN, tetapi belum berkomitmen, tidak jelas bagaimana cara mendapatkannya kembali. Google bahkan menyarankan "svn undo delete before commit" sebagai kueri umum saat Anda mengetik "svn undo d", tetapi hasil pencarian tidak membantu.
edit: Saya ingin solusi yang bekerja di subversi 1.4.4
Jawaban:
svn revert deletedDirectory
Berikut dokumentasi untuk
svn revert
perintah tersebut.EDIT
Jika
deletedDirectory
dihapus menggunakanrmdir
dan tidaksvn rm
, Anda harus melakukannyasvn update deletedDirectory
sebagai gantinya.
sumber
svn delete
untuk menghapus direktori, tetapi malah menghapusnya menggunakanrmdir
, Anda harus melakukannyasvn update deletedDirectory
.1) lakukan
2) mengurai keluaran untuk kesalahan seperti
3) panggil svn up untuk setiap direktori error:
sumber
svn up
untuk memeriksanya, menyadari konfliknya, melakukansvn resolved foo
dansvn status
memberi tahu saya bahwa saya memiliki sekitar 10k file yang ditandai sebagaiD
.svn up
dansvn revert
tidak mendapatkannya kembali, tetapi ini menyelesaikan masalah.--recursive
yang membantu memulihkan konten direktori yang dihapus.Apa yang berhasil bagi saya adalah
sumber
Lakukan operasi (rekursif) Kembalikan dari tingkat di atas direktori yang Anda hapus.
sumber
Untuk membuatnya menjadi satu liner, Anda dapat mencoba sesuatu seperti:
sumber
Solusi paling sederhana yang dapat saya temukan adalah menghapus direktori induk dari copy pekerjaan (dengan rm -rf, bukan svn delete), dan kemudian jalankan pembaruan svn di eyang. Misalnya, jika Anda menghapus a / b / c, rm -rf a / b, cd a, svn up. Itu mengembalikan semuanya. Tentu saja, ini hanya solusi yang baik jika Anda tidak memiliki perubahan tidak terikat lainnya di direktori induk yang ingin Anda simpan.
Semoga halaman ini akan menjadi hasil teratas saat saya mencari pertanyaan ini di Google. Akan lebih baik lagi jika seseorang menyarankan metode yang lebih bersih, tentunya.
sumber
Anda dapat menghapus folder dan memperbarui direktori induk sebelum melakukan:
rm -r some_dir
svn update some_dir_parent
sumber