2012-01-09 2 views

ответ

4

Ну, вы можете написать скрипт, чтобы сделать это ...

Какая платформа вы? Windows или Unix? Какой язык сценариев вы можете использовать?

Вот реальный простой один я только что сделал:

$ svn cl my-changelist $(svn st | awk '{print $2}') 

Это, вероятно, нуждается в некоторой работе (что, если я изменил свойство по сравнению с файлом или я изменился и что, если я удалил файл?). Но это сработало в моей (правда, простой) ситуации.

1

печати AWK в $ 2 потерпит неудачу, если СВН стат показывает вам флаги, такие как + или ~

разрез может быть безопаснее, например,

svn st | cut -c9- 

Мой bash-fu не является сильным, и синтаксис $() не работает для меня. Я закончил тем, что делал что-то вроде:

for i in `svn st | cut -c9-` do; svn changelist my-changelist $i; done 
+0

> для I в 'СВН ст | cut -c9-'; do svn changelist my-changelist $ i; сделанный – zinking

0
  1. Если у вас есть более одного группы изменений, вы хотите, чтобы отфильтровать ненужные строки первой.

    svn status | grep '^[ADMRC]' | cut -c9- | xargs svn changelist foo 
    
  2. Если у вас есть имена файлов с пробелами, вы также должны использовать eval.

    eval "svn changelist foo $(svn status | grep '^[ADMRC]' | cut -c9- | sed 's/ /\\ /' | tr '\n' ' ')" 
    

    sed 's/ /\\ /' escapes spaces.

Ссылка:

Смежные вопросы