Ramificação SVN Compare
-
21-09-2019 - |
Pergunta
Como comparo um ramo com outro? Quero comparar uma filial com a última revisão no Trunk.
Solução
Você pode começar com:
svn diff http://REPOS/trunk http://REPOS/branches/B
(Onde http://REPOS
é o seu caminho de repositório, incluindo os pais de trunk
e branches
.)
Isso imprimirá uma grande quantidade de texto, incluindo todas as alterações textuais, mas não as alterações binárias, exceto para dizer onde e quando ocorreram.
Outras dicas
Se você está apenas procurando um nível alto de quais arquivos são diferentes e não deseja ver todo o conteúdo, use:
svn diff ^/trunk ^/branches/dev --summarize
(Isso compara o tronco e o ramo dev)
Normalmente, verifico os dois ramos (ou o ramo e o porta -malas) nos diretórios. Em seguida, uso uma ferramenta gráfica como Kompare ou similar (dependendo de suas preferências, sistema operacional, ...). Isso é realmente útil para mim quando preciso realizar mesclas complexas.
Como a falta de reputação não me permite adicionar isso como um comentário contra uma resposta existente, estou tendo que adicioná -la como separada.
Uma opção útil para svn diff
para mim era --ignore-properties
. Meus dois ramos acabaram em termos de código idênticos, mas com diferentes histórias de mesclagem.
Usando --ignore-properties
Permitiram -me provar a mim mesmo que esse era o caso, sem percorrer a grande quantidade de mudanças de propriedade "SVN: Mergeinfo".
Aqui está a documentação para o svn diff
comando.
Obrigado pela informação pessoal, eu adicionaria algo para melhorar a legibilidade dos resultados diff. TXT
Você pode usar: Findstr "Index:" C: PATH SVN_DIFF_FILENAME.TXT> SVN_DIFF_FILE_LIST.TXT
Isso trará uma lista legível de arquivos que têm diferenças.
Aqui está um Post de Murray Cumming que descreve o processo não óbvio:
- Descubra os números de revisão: você precisa conhecer os números de revisão das versões mais recentes em cada uma das filiais. Parece que o SVN Log é a única maneira de fazer isso.
- CD em um dos diretórios da filial, como o tronco.
- Forneça os números de revisão ao comando SVN Diff:
svn diff -r123:145
Difver entre duas revisões de um ramo:
svn diff -r rLATEST:rOLD
Usar svn log
Para obter as diferentes revisões. O uso pode limitar o número de revisões no log usando svn log -l 5
. Somente as últimas 5 revisões serão mostradas.