Эта команда добавит все не версионные файлы, перечисленные в выводе команды svn st
, в subversion.
Обратите внимание, что любые имена файлов, содержащие пробелы в выводе svn stat, не будут добавлены. Кроме того, может произойти странное поведение, если какие-либо имена файлов содержат символы «?».
svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2 | xargs svn add
или если вы хороши в awk:
svn st | grep ? | awk '{print $2}' | xargs svn add
Пояснение:
Шаг 1: svn st
команда
[user@xxx rails]$svn st
? app/controllers/application.rb
M app/views/layouts/application.html.erb
? config/database.yml
Шаг 2: Мы извлекаем файл без версии командой grep
:
[user@xxx rails]$svn st | grep ?
? app/controllers/application.rb
? config/database.yml
Шаг 3: Затем удалите сжатие пробела между ?
и путем к файлу с помощью команды tr:
<code>[user@xxx rails]$svn st | grep ? | tr -s ' '
? app/controllers/application.rb
? config/database.yml
Шаг 4: Затем выберите второй столбец из вывода, используя команду вырезания:
[user@xxx rails]$svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2
app/controllers/application.rb
config/database.yml
Шаг 5: Наконец, передав эти пути к файлам в качестве стандартного ввода в команду svn add
:
[user@xxx rails]$svn st | grep ? | tr -s ' ' | cut -d ' ' -f 2 | xargs svn add
A app/controllers/application.rb
A config/database.yml