reverter o arquivo e confirmá-lo novamente não mostra nenhuma alteração

1

Eu tenho um arquivo que está atualmente na revisão X. Eu gostaria de reverter para a revisão X-1 e confirmá-lo como X-1. No entanto, quando recebo a pré-visualização de commit do X-1, o SVN (estou usando o Tortoise neste caso) diz que não há mudanças. Como isso pode ser? E como faço para confirmar o arquivo revertido?

    
por David Grinberg 19.08.2014 / 15:50

1 resposta

0

Não tenho certeza se estou lendo muito no texto da sua pergunta, mas você pode ter um mal-entendido de como o SVN funciona e também o que é o comando "reverter".

Primeiro, o comando "reverter" é apenas para se livrar de alterações que você ainda não tenha confirmado. Ele desfaz todas as alterações que você vê com svn status ou "verificação de modificações" do TortoiseSVN. Nada mais.

Em segundo lugar, não é possível confirmar uma revisão menor que a revisão atual. No SVN, os arquivos não possuem revisões. Revisões possuem arquivos. E os números de revisão sempre vão para CIMA, nunca para baixo. Pense em uma revisão no SVN como um instantâneo no tempo de TUDO no repositório. Tecnicamente, você deveria dizer "file foo como existia na revisão 123", ao invés de "revisão 123 do arquivo foo". Este último não é estritamente correto e pode quebrar em algumas situações.

Finalmente, o que você está tentando fazer, ao que parece, é remover algumas alterações em um arquivo. Você faz isso criando uma nova revisão do arquivo, usando o conceito de "mesclagem reversa". Na linha de comando, você faz uma mesclagem do arquivo, especificando uma revisão negativa ou um intervalo de revisão para trás, para desfazer as alterações nessas revisões. Em seguida, você pode se comprometer a obter uma nova revisão contendo seu arquivo com essas alterações invertidas. O TortoiseSVN torna isso fácil: basta abrir a caixa de diálogo "show log", clicar com o botão direito do mouse na revisão que você deseja reverter e escolher "reverter alterações desta revisão". Então você precisará se comprometer como antes.

De qualquer forma, faça essa etapa de "mesclagem reversa" de uma cópia de trabalho apontando para HEAD. Sua nova revisão irá sempre depois do HEAD, já que é assim que o SVN funciona.

    
por 21.08.2014 / 05:29