This command will add any un-versioned files listed in svn st command output to subversion.
Note that any filenames containing whitespace in the svn stat output will not be added. Further, odd behavior might occur if any filenames contain '?'s.
svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2 | xargs svn add
or if you are good at awk:
svn st | grep ? | awk '{print $2}' | xargs svn add
Explanation:
Step 1: svn st command
[user@xxx rails]$svn st
? app/controllers/application.rb
M app/views/layouts/application.html.erb
? config/database.yml
Step 2: We grep the un-versioned file with grep command:
[user@xxx rails]$svn st | grep ?
? app/controllers/application.rb
? config/database.yml
Step 3: Then remove the squeeze the space between ? and file path by using tr command:
[user@xxx rails]$svn st | grep ? | tr -s ' '
? app/controllers/application.rb
? config/database.yml
</pre>
Step 4: Then select second column from the output by using cut command:
[user@xxx rails]$svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2
app/controllers/application.rb
config/database.yml
Step 5: Finally, passing these file paths as standard input to svn add command:
[user@xxx rails]$svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2 | xargs svn add
A app/controllers/application.rb
A config/database.yml
浙公网安备 33010602011771号