rsync com 'svn rm'

1

Como eu poderia usar a opção rsync --delete, mas fazer o comando delete 'svn rm'?

Eu tenho um repositório de alguns arquivos de configuração e tal, mas esses arquivos de configuração não são uma cópia de trabalho. Eu sempre os copio localmente para um diretório svn repo, excluindo .svn, e então os verifico. Eu mudei um monte de nomes de arquivos então eu quero deletar os antigos no repo (svn mv seria um pouco complicado demais para isso ).

Edit: Ah, e se houver uma opção svn que me dará o mesmo resultado final, isso também é bom.

    
por Kyle Brandt 27.07.2009 / 21:49

2 respostas

3

Eu nunca fiz isso, mas a maneira que eu atacaria isso é escrever um script que:

  1. Executa o rsync com a opção '--delete'
  2. Executar svn status *
  3. Colete todos os nomes de arquivos que estavam faltando (as linhas que começam com '!')
  4. Executar svn rm * nessa lista de nomes de arquivos
  5. Você pode até mesmo fazer um svn commit -m * com um comentário dizendo que os arquivos foram excluídos após um rsync na data e hora mencionadas.

* - usando o ssh para executar o comando remotamente, se necessário.

    
por 27.07.2009 / 22:03
0

svn delete $( svn status | sed -e '/^!/!d' -e 's/^!//' )
svn add $( svn status | sed -e '/^?/!d' -e 's/^?//' )

Achei isso no link

    
por 22.10.2010 / 12:28

Tags