Bagaimana cara mengabaikan folder SVN di WinMerge?

113

Saya mencoba membandingkan secara rekursif dua folder copy pekerjaan Subversion menggunakan WinMerge.

Sayangnya, WinMerge menampilkan banyak file yang berbeda di dalam folder kontrol subversi ( .svnatau _svn).

Apakah mungkin untuk mengecualikan folder subversi dari perbandingan? Atau apakah ada diff-tool (gratis) lain yang bisa melakukan ini?

M4N
sumber

Jawaban:

111

Coba buat Filefilter

WinMerge menangani ini dengan baik. Anda ingin membuat dan menggunakan Filter . Di bawah Tools | Filters... | Filefilters, buat filter baru atau ubah yang sudah ada.

Ini akan terlihat seperti ini:

## Ignore Java class and jar files
f: \.class$
f: \.jar$

## Ignore subversion housekeeping folders
d: \\.svn$
d: \\._svn$

Simpan, lalu saat memilih item yang akan digabungkan, pilih filter yang Anda tentukan dari Select Files or Folderskotak dialog. Poin bonus: Ini akan menyimpan ini dan menggunakannya sebagai default untuk penggabungan di masa mendatang.

Greg
sumber
10
Terima kasih banyak! Saya menemukan bahwa bahkan ada filter standar untuk mengecualikan file dan folder kontrol sumber.
M4N
1
Hai Martin, Anda mungkin ingin menerima jawaban 4h24d juga karena lebih sederhana dari ini dan sesuai dan dengan demikian telah dipilih lebih baik sejauh ini.
chiccodoro
Filter yang lebih baik "\\\. Svn $" (filter standar) sehingga Anda cocok dengan '.' dan bukan <karakter apa pun> sebelum 'svn'.
Werner Henze
84

Coba Filter File Builtin

WinMerge (Versi 2.12.4) sudah menyertakan filter untuk mengecualikan file dan direktori kontrol sumber, dan ini disebut Exclude Source Control .

Ini berfungsi untuk Subversion, CVS, Git, Bazaar dan Mercurial, dan tidak mengharuskan Anda membuat filter, Anda hanya perlu menerapkannya selama perbandingan.

djule5
sumber
4
Terima kasih untuk informasi. saya ingin menghindari memilih setiap kali saya membandingkan. apakah tetap ada kita bisa membuatnya menerapkan file "Kecualikan kontrol Sumber" secara default?
Mahes
1
Saya tidak mendapatkan opsi ini dalam penginstalan baru ketika saya memilih 2 folder dan mengklik 'Bandingkan'. Untuk mengaktifkannya, saya harus memilih satu folder, klik 'Bandingkan ...' yang menampilkan dialog dengan beberapa opsi untuk filter. Di sini saya memilih folder kedua dan filter 'Exclude Source Control', dan berhasil. Filter disimpan, jadi baru jika saya hanya memilih 2 folder dan mengklik 'Bandingkan' filter diterapkan tanpa dialog.
Liam
22

Hapus komentar beberapa baris di filter file bawaan

WinMerge (Versi 2.12.4) sudah menyertakan filter tetapi (setidaknya dalam instalasi saya) filter untuk Subversion, Git dan Bazaar telah dikomentari.

Arahkan ke sini: Tools | Filters | Filefilters | Exclude Source Control(klik dua kali untuk mengedit)

Edit garis menjadi seperti ini:

d: \\.svn$ ## Subversion working copy
d: \\_svn$  ## Subversion working copy ASP.NET Hack
d: \\cvs$   ## CVS control directory
d: \\.git$ ## Git directory
d: \\.bzr$ ## Bazaar branch
d: \\.hg$ ## Mercurial repository
Roberto
sumber
Filter yang lebih baik "\\\. Svn $" (filter standar) sehingga Anda cocok dengan '.' dan bukan <karakter apa pun> sebelum 'svn'.
Werner Henze