2009-09-25 33 views
103

Sto provando a confrontare in modo ricorsivo due cartelle di copia di lavoro di Subversion usando WinMerge.Come ignorare le cartelle SVN in WinMerge?

Sfortunatamente, WinMerge visualizza molti file di differenze all'interno delle cartelle di controllo di sovversione (.svn o _svn).

È possibile escludere in qualche modo le cartelle di sovversione dal confronto? O c'è un altro diff-tool (gratuito) che è in grado di farlo?

risposta

98

Provare a fare un filtro di file

WinMerge gestisce questo bene. Si desidera creare e utilizzare un Filter. Sotto Tools | Filters... | Filefilters, crea un nuovo filtro o modifica uno esistente.

Si sarà simile a questa:

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

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

Salva, poi quando si selezionano elementi da unire, selezionare il filtro è stato definito dalla finestra di dialogo Select Files or Folders. Punti bonus: salverà questo e lo userà come predefinito per le future fusioni.

+9

Grazie mille! Ho scoperto che esiste persino un filtro predefinito per escludere file e cartelle di controllo del codice sorgente. – M4N

+1

Ciao Martin, potresti anche accettare la risposta di 4h24d dato che è più semplice di questa e appropriata e quindi è stata votata meglio finora. – chiccodoro

+0

Filtro migliore "\\\. Svn $" (filtro predefinito) in modo che corrisponda a "." e non prima di 'svn'. –

79

Prova Builtin filtro file

WinMerge (versione 2.12.4) include già un filter per escludere i file e le directory controllo del codice sorgente, e si chiama Escludi controllo del codice sorgente.

Funziona con Subversion, CVS, Git, Bazaar e Mercurial e non richiede la creazione di un filtro, è sufficiente applicarlo durante il confronto.

+4

grazie per l'informazione. vorrei evitare di selezionare ogni volta che confronto. esiste comunque che possiamo applicare i file "Escludi controllo origine" per impostazione predefinita? – Mahes

+0

Non stavo ottenendo questa opzione in una nuova installazione quando ho selezionato 2 cartelle e cliccato su 'Confronta'. Per abilitarlo ho dovuto selezionare una cartella, fare clic su 'Confronta ...' che mostra una finestra di dialogo con alcune opzioni per i filtri. Qui ho selezionato la seconda cartella e il filtro "Exclude Source Control", e ha funzionato. Il filtro viene salvato, quindi nuovo se seleziono solo 2 cartelle e fai clic su 'Confronta' il filtro viene applicato senza la finestra di dialogo. – Liam

19

Decommentate alcune linee in FileFilter incorporato

WinMerge (versione 2.12.4) include già un filtro, ma (almeno nella mia installazione) i filtri per Subversion, Git e Bazaar sono state commentate fuori.

Navigare qui: Tools | Filters | Filefilters | Exclude Source Control (doppio clic per modificare)

Modificare le linee di simile a questa:

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 
+0

Filtro migliore "\\\. Svn $" (filtro predefinito) in modo che corrisponda a "." e non prima di 'svn'. –

Problemi correlati