Como reverter um arquivo para uma revisão mais antiga no SVN

2

No meu trabalho, usamos svn. Eu uso o tortoisesvn no meu windows pc como uma extensão do shell / explorador do windows. Eu estava mantendo um arquivo de origem * .c no svn. Um dos meus colegas fez algumas alterações em cima da minha versão e fez check-in, mas não sem testar totalmente todas as suas alterações! Como resultado disso, o código agora está quebrado para certos casos de teste. Ele disse que não fundiu corretamente enquanto verifica as mudanças no svn, daí a quebra. Tanto faz! Existem outras equipes que atualizam esse arquivo, então isso quebraria o trabalho deles.

  1. Qual é o comando para reverter este arquivo específico para revisão de trabalho mais antiga? (Ele tem suas alterações localmente, então eu não me incomodaria com isso)

  2. Se não houver um comando direto para fazer isso, o que agora é o meu caminho para sair dessa bagunça.

  3. Quando eu li, ouvi falar de algo 'mesclar reverso'. O que exatamente é isso, e isso me ajuda, se sim como?

por goldenmean 27.05.2011 / 17:18

4 respostas

1

Aqui está uma mesclagem reversa. Vai te dar o que você quer.

  1. Mesclar a revisão errada com a revisão desejada no caminho da cópia de trabalho.
  2. Teste seu código
  3. Confirme os arquivos de volta ao repositório

Agora você terá uma revisão corrigida, mas deixará a revisão quebrada no repositório.

O comando de mesclagem usa três parâmetros: primeira origem, segunda fonte, caminho da cópia de trabalho. Como você está revertendo, as duas fontes terão o mesmo caminho, mas números de revisão diferentes. O maior número de revisão é o primeiro.

Exemplo de linha de comando:

merge svn://example.com/repo/folder/changedFile.txt@HEAD svn://example.com/repo/folder/changedFile.txt@215 ./folder/changedFile.txt

Use o botão "Show Log" no TortoiseSVN para encontrar a revisão facilmente.

    
por 27.05.2011 / 18:23
2

Você também pode reverter o arquivo único de mesclagem clicando com o botão direito do mouse no nome do arquivo na janela Mensagens de Log.

    
por 05.11.2012 / 07:31
0

Guiado pelas mensagens de confirmação, você deve conseguir fazer o download de uma revisão anterior do arquivo, uma revisão que não contém as alterações que quebraram o arquivo.

Certamente, o último check-in que você fez contém a versão correta e funcional do arquivo. Quando você mescla, normalmente usa duas origens para produzir uma nova, seja uma cópia de trabalho ou duas ramificações separadas. amigo fez foi apenas criar uma nova revisão.

Faça o download do arquivo do SEU último check-in, que deve conter o último código de trabalho antes das alterações. O TortoiseSVN permite-lhe "verificar" especificando um número de revisão, talvez seja necessário explorar o Repositório (utilizando o TortoiseSVN Repository Explorer) e identificar o número de revisão desejado.

Esta é a maneira que eu faço, já trabalhei antes para mim:)

Espero que isso ajude.

    
por 27.05.2011 / 18:19
0

O TortoiseSVN pode fazer a mesclagem reversa para você. Vá para as páginas de registro do projeto SVN, clique com o botão direito do mouse na revisão que você deseja alterar e escolha 'reverter'.

    
por 27.05.2011 / 22:54