Mengapa svn checkout menyertakan file yang telah dihapus dari repositori?

Saya memiliki repo di kotak Linux dan ketika saya menelusuri repo melalui TortoiseSVN saya dapat melihat bahwa folder tertentu telah dihapus dari repo (sebagaimana mestinya), namun ketika saya melakukan "svn checkout" baru (ke yang baru folder) pada kotak Linux ia mencoba mengambil file yang dihapus tersebut.

Mengapa SVN mengambil file yang terhapus ini, dan bagaimana cara mencegahnya?

Saya melihat pertanyaan serupa tetapi tidak mengatasi masalah saya:

Bagaimana caranya Anda menghentikan SVN Checkout mengembalikan file yang telah dihapus dari proyek?


svn
person kmoser    schedule 20.05.2011    source sumber
comment
Apakah Anda yakin sedang menjelajahi repositori (dan bukan copy pekerjaan), dan cabang yang benar?   -  person nos    schedule 20.05.2011


Jawaban (1)


Hanya ada beberapa alasan SVN akan mengembalikan file yang telah dihapus.

  1. File telah dihapus di suatu cabang, dan Anda melakukan checkout dari cabang lain yang masih berisi file tersebut.
  2. File telah dihapus dalam revisi "HEAD" saat ini, dan Anda sedang memeriksa revisi yang lebih lama di mana file tersebut dulu ada (saat Anda memperbarui ke revisi yang dihapus dalam skenario ini, file tersebut akan hilang).
  3. Perintah "svn delete..." telah dikeluarkan, tetapi Anda gagal melakukan penghapusan kembali ke pohon SVN dengan "svn commit...".

Seringkali #3lah yang menyebabkan kebingungan, karena penghapusan SVN tidak berarti penerapan otomatis (sehingga Anda dapat memasangkan penghapusan dengan perubahan lainnya).

person Edwin Buck    schedule 20.05.2011