Substituir um arquivo no svn HEAD

0

Infelizmente, não posso explicar exatamente o que aconteceu. O resultado é o seguinte: No meu repositório, tenho um arquivo foo.bar para o qual a versão correta é HEAD-1 . Como posso criar uma nova revisão, de tal forma que a única diferença entre HEAD e HEAD+1 seja que foo.bar in HEAD+1 seja a de HEAD-1 . Todos os outros elementos do repositório devem ser idênticos em HEAD+1 aos de HEAD .

Invocando

svn update -rHEAD-1 foo.bar

Eu obtenho uma cópia de trabalho que é a que desejo tornar-se HEAD+1 . No entanto, svn status não mostra nada.

Espero que minha pergunta faça algum sentido ...

    
por Dror 11.08.2011 / 21:19

1 resposta

1

Pelo que eu entendi, embora o resto das mudanças na sua revisão do HEAD estejam boas, você cometeu um erro no foo.bar e você quer recuperar isso para a sua próxima revisão. Veja como:

Tire um instantâneo do seu foo.bar da revisão anterior, usando o comando que você especificou

svn update -r HEAD-1 foo.bar

Em seguida, faça uma cópia desse arquivo e salve-o como foo.correct.bar

cp foo.bar foo.correct.bar

Restaurar o arquivo para sua revisão atual

svn update -r HEAD foo.bar

Em seguida, copie a sua versão (e versão correta de) foo.bar para substituir a atual versão confusa

mv foo.correct.bar foo.bar

Confirmar como revisão HEAD + 1

svn commit foo.bar -m "Restoring foo.bar from older revision HEAD-1"

Espero que ajude, Sudipta

    
por 12.08.2011 / 02:12