SVN - como reverter para a versão mais antiga

0

Depois de verificar um repositório, quero reverter para a versão mais antiga. Existe uma forma de fazer isso? Qualquer coisa curta de correr

svn log | grep '|' > log

(Eu tenho que fazer isso para várias pastas). E, em seguida, obtendo a primeira palavra da última linha e, em seguida, removendo o 'r' e, em seguida, convertendo-o em um inteiro. E isso pressupõe que nenhuma mensagem de commit tenha '|' neles, o que eu acho que é uma suposição segura, mas não é "correta", como tal.

Nota: sei como verificar um número de revisão específico.

A execução de svn revert ./* no diretório também não funcionou. Depois de fazer isso, quando eu corri o svn up , ele disse "Na revisão __" (última revisão). Executando svn co -r funciona bem

    
por asymptotically 05.08.2013 / 20:52

1 resposta

0

Você tem dois problemas. A primeira é "como faço para encontrar rapidamente a primeira revisão de um diretório no repositório". Isso provavelmente pode ser resolvido como em link usando svn log --limit 1 -r1:HEAD , que deve limitar você à primeira mensagem de log única do diretório. Isso usa "--limit 1" para mostrar apenas uma única mensagem, e "-r1: HEAD" para ordenar as mensagens exibidas do primeiro ao último, em vez do último usual para o primeiro.

O segundo problema, é "como faço para que minha cópia de trabalho aponte para uma revisão específica, uma vez que conheço a revisão?"

Como você sabe, svn co -r123 lhe dará uma NOVA cópia de trabalho na revisão 123. Se você já tiver uma cópia de trabalho, use apenas svn update -r123 para atualizar sua cópia de trabalho para essa revisão.

Observe que você também pode usar datas no seu especificador de revisão, conforme detalhado em link . Também algumas palavras-chave são suportadas como HEAD.

    
por 05.09.2013 / 14:16