Ada masalah yang diketahui dengan repositori SVN dan layanan pengindeksan windows memperebutkan file metadata .svn. Di sini untuk lebih jelasnya.
Bagaimana kita mengaturnya sehingga secara otomatis tidak ada masalah memiliki repositori subversi yang diindeks oleh windows (Vista / Win7). (Kami tidak ingin harus melakukan sesuatu secara manual setiap kali kami menambahkan direktori repo.)
Satu ide adalah mengatur Windows untuk secara otomatis tidak mengindeks folder bernama ".svn", namun saya tidak dapat menemukan cara untuk melakukan ini.
Saya tahu Anda dapat menonaktifkan ekstensi tertentu, tetapi tampaknya tidak berfungsi karena file metadata svn ada di folder.
Catatan: The
windows-7
svn
windows-search
tortoise-svn
James Van Boxtel
sumber
sumber
Jawaban:
Saya mengalami masalah yang sama dan menemukan solusi. Semua kode saya disimpan di bawah satu folder:
F: \ proyek \
Di bawah folder itu terdapat pohon kode dan file proyek terkait yang totalnya lebih dari 2GB. Saya terus-menerus perlu mencari pohon dan jendela Pengindeksan ini sebenarnya merupakan alat yang sangat berguna untuk melakukan pencarian cepat, jadi mematikannya bukan pilihan. Saya ingin mengecualikan folder SVN karena mereka mengacaukan hasil pencarian saya, (2) hambatan yang tidak perlu pada sistem saya, (3) SVN, Win7, dan MS Security Essentials tampaknya tidak berfungsi dengan baik ketika melakukan operasi SVN besar.
Sebelum Anda mencoba solusinya, buat ulang masalahnya:
Larutan:
csmcmd.exe /add_rule file:///F:\projects\*\.svn\* /USER /EXCLUDE
Saya menemukan ini dengan terlebih dahulu menjalankan perintah:,
csmcmd.exe /enumerate_rules
untuk mendaftar semua yang sudah ada. Sudah ada beberapa aturan dengan asterix (*) wildcard yang digunakan oleh Windows, jadi itu membuktikan bahwa ini mungkin.Sekarang ulangi langkah-langkah untuk mereproduksi masalah, dan Anda seharusnya tidak lagi melihat kekacauan SVN di hasil pencarian Anda. Berikan komputer kapan-kapan untuk memperbarui indeks - ini membutuhkan waktu kurang dari 5 menit pada sistem saya. Terkadang memulai kembali layanan Pencarian, memulai pembangunan kembali / pengindeksan ulang, atau reboot membantu memindahkan semuanya.
Pembaruan : Beberapa proyek SVN saya menggunakan ".svn", dan beberapa menggunakan "_svn", jadi saya telah menambahkan dua aturan ini ke setiap drive:
csmcmd.exe /add_rule file:///F:\*\.svn\* /DEFAULT /EXCLUDE
csmcmd.exe /add_rule file:///F:\*\_svn\* /DEFAULT /EXCLUDE
sumber
AFAIK, layanan Pengindeksan Windows pada Windows 7 hanya terlihat dalam folder Users sebagai default (koreksi saya jika saya salah). Jika Anda memiliki repositori SVN di dalam folder pribadi Anda, Anda dapat:
a) Menempatkan repositori SVN Anda di tempat lain
b) Dengan mengecualikan folder tersebut dari indeks. Di sini Anda akan menemukan cara mengecualikan folder.
sumber
Perbaikan yang jelas akan mengubah Subversion untuk mengatur bendera "jangan indeks" ini setiap kali ia membuat direktori .svn. Masalahnya adalah bahwa fitur ini tidak lagi diperlukan ketika diperkenalkan.
Masalah yang diketahui kemungkinan besar akan hilang dalam versi Subversion yang saat ini sedang dikembangkan (versi 1.7). Akan ada jauh lebih sedikit operasi file di dalam direktori .svn, dan juga hanya 1 .svn direktori per copy pekerjaan.
Ini memperkecil kemungkinan masalah akan terjadi, dan juga membuatnya lebih mudah untuk menonaktifkan pengindeksan, karena hanya ada satu folder .svn.
sumber
Metode kekerasan
Kebijakan Grup WDS memiliki opsi untuk
Prevent Indexing Certain Paths
, tetapi tidak terdaftar untuk Windows Vista menurut bagan fitur.sumber
Jika jawaban Darren Halls adalah pendekatan "Brute Force", maka jawaban saya haruslah pendekatan "Brute Force and Ignorance". :)
Ini adalah sesuatu yang baru-baru ini mengganggu saya karena kami menggunakan SVN untuk manajemen dokumen dan proyek yang dapat berarti pengindeks Windows sangat berguna ketika datang untuk dapat mencari dokumen yang tidak jelas, tetapi menangkap semua file penyimpanan svn tidak berguna.
Ini adalah solusi saya (agak jelek) dalam file batch windows:
Baris pertama dan terakhir ada karena ATTRIB menolak untuk menerapkan + I beralih ke folder tersembunyi, setidaknya itu berlaku untuk saya. Anda harus menyalin ini ke file seperti "svnNoIndex.bat" dan menjalankannya di direktori checkout SVN Anda, dengan repositori besar itu bisa memakan waktu ...
Saya saat ini sedang menguji ini di bawah Vista dengan paket layanan terbaru, saya berharap itu berfungsi pada Windows 7. Saya tidak tahu apakah indeks perlu dibangun kembali untuk memperhitungkan file yang sekarang ditandai sebagai tidak diindeks oleh melakukan ini, tetapi saya perlu membangun kembali tambang saya sehingga itulah yang saya lakukan karena hanya beberapa hari sementara indeks dibangun kembali.
Untuk menjadikan "otomatis" ini, Anda dapat menambahkan file batch sebagai kait pasca-pembaruan yang dijalankan setelah pembaruan ... jika itu berantakan, tetapi mungkin berfungsi.
sumber
Anda pada dasarnya dapat memberitahu Pencarian Windows untuk mengabaikan folder .svn dengan mengubah registri.
URL cocok dengan folder bernama ".svn" di mana saja di sistem file Anda. (Angka setelah aturan default harus unik - yaitu jika Anda sudah memiliki aturan standar 11, pilih nomor lain).
sumber