Como ignorar as pastas SVN no WinMerge?


113

Estou tentando comparar recursivamente duas pastas de cópia de trabalho do Subversion usando WinMerge.

Infelizmente, o WinMerge exibe muitos arquivos de diferenciação dentro das pastas de controle do subversion ( .svnou _svn).

É possível excluir de alguma forma as pastas de subversão da comparação? Ou existe outra ferramenta diff (gratuita) capaz de fazer isso?

Respostas:


111

Tente fazer um Filefilter

WinMerge lida com isso muito bem. Você deseja criar e usar um filtro . Em Tools | Filters... | Filefilters, crie um novo filtro ou modifique um existente.

Isso parecerá assim:

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

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

Salve-o e, ao selecionar os itens a serem mesclados, selecione o filtro que você definiu na Select Files or Folderscaixa de diálogo. Pontos de bônus: isso salvará e usará como padrão para futuras fusões.


10
Muito obrigado! Descobri que existe até um filtro predefinido para excluir arquivos e pastas de controle de origem.
M4N

1
Olá Martin, talvez você queira aceitar a resposta de 4h24d também, pois é mais simples e apropriada do que isso e, portanto, foi eleita a melhor até agora.
chiccodoro

Melhor filtrar "\\\. Svn $" (filtro predefinido) para que corresponda a '.' e não <qualquer caractere> antes de 'svn'.
Werner Henze de

84

Experimente o filtro de arquivo integrado

O WinMerge (versão 2.12.4) já inclui um filtro para excluir arquivos e diretórios de controle de origem e é denominado Excluir controle de origem .

Funciona com Subversion, CVS, Git, Bazaar e Mercurial, e não requer a criação de um filtro, você apenas tem que aplicá-lo durante a comparação.


4
Obrigado pela informação. gostaria de evitar selecionar toda vez que comparo. existe alguma maneira de aplicá-lo aos arquivos de "Excluir controle de origem" por padrão?
Mahes,

1
Eu não estava recebendo essa opção em uma nova instalação quando selecionei 2 pastas e cliquei em 'Comparar'. Para habilitá-lo, selecionei uma pasta, clique em 'Comparar ...' que mostra uma caixa de diálogo com algumas opções de filtros. Aqui, selecionei a segunda pasta e o filtro 'Excluir controle de origem' e funcionou. O filtro é salvo, tão novo se eu apenas selecionar 2 pastas e clicar em 'Comparar' o filtro será aplicado sem a caixa de diálogo.
Liam

22

Remova o comentário de algumas linhas no filtro de arquivos embutido

WinMerge (versão 2.12.4) já inclui um filtro, mas (pelo menos na minha instalação) os filtros para Subversion, Git e Bazaar foram comentados.

Navegue aqui: Tools | Filters | Filefilters | Exclude Source Control(clique duas vezes para editar)

Edite as linhas para ficarem assim:

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

Melhor filtrar "\\\. Svn $" (filtro predefinido) para que corresponda a '.' e não <qualquer caractere> antes de 'svn'.
Werner Henze de
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.