sed && svn problem

2

Eu tenho uma cópia de trabalho svn que eu executei o seguinte comando em

find ./source * -type f -exec sed "s/@version 0.5.3/@version 0.5.4/" -i {} \;

os arquivos estão todos atualizados, mas o svn não reconhece nenhuma mudança ao executar um deles

svn status ./source

svn diff ./source

svn commit ./source

Eu também tentei escrever um script que deveria checar o $? de sed e é ok o "toque" o arquivo para atualizar é mdate mas sed parece sempre retornar 0 -.-

o que posso fazer agora? -.-

    
por Andreas Linden 12.09.2010 / 13:47

1 resposta

1

O problema está no uso de find :

find dir1 -type f

Corresponde a todos os arquivos na estrutura de diretórios, incluindo os que estão dentro dos diretórios .svn . Os arquivos em .svn são aqueles usados para executar o svn diff contra. Então, em essência, você modificou todas as cópias dos arquivos na árvore, não apenas as cópias de trabalho.

Experimente esta sintaxe:

find ./source * -type f ! -path '*/.svn/*' -exec sed "s/@version 0.5.3/@version 0.5.4/" -I {} \;
    
por 12.09.2010 / 14:03

Tags