Subversion: Adicione todos os arquivos não versionados ao subversion usando um comando linux

Este comando adicionará quaisquer arquivos sem versão listados na saída do comando svn st para o subversion.

Observe que quaisquer nomes de arquivos contendo espaços em branco na saída svn stat não serão adicionados. Além disso, um comportamento estranho pode ocorrer se algum nome de arquivo contiver ‘?’ S.

svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2 | xargs svn add

ou se você é bom em awk:

svn st | grep ? | awk '{print $2}' | xargs svn add

Explicação:

Etapa 1: svn st comando

[user@xxx rails]$svn st
? app/controllers/application.rb
M app
/views/layouts/application.html.erb
? config/database.yml

Etapa 2: analisamos o arquivo sem versão com o grepcomando:

[user@xxx rails]$svn st | grep ?
? app/controllers/application.rb
? config/database.yml

Etapa 3: em seguida, remova o espaço entre ?o caminho do arquivo usando o comando tr:

[user@xxx rails]$svn st | grep ? | tr -s ' '
? app/controllers/application.rb
? config/database.yml
</pre>

Etapa 4: Em seguida, selecione a segunda coluna da saída usando o comando cut:

[user@xxx rails]$svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2
app
/controllers/application.rb
config
/database.yml

Etapa 5: finalmente, passando esses caminhos de arquivo como entrada padrão para o svn addcomando:

[user@xxx rails]$svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2 | xargs svn add
A app
/controllers/application.rb
A config
/database.yml

StackOverflow