SVN- Как зафиксировать несколько файлов за один снимок - PullRequest
102 голосов
/ 02 декабря 2010

Я попытался зафиксировать несколько файлов в разных каталогах за один раз, как показано ниже,

svn commit –m”log msg” mydir/dir1/file1.c mydir/dir2/myfile1.h mydir/dir3/myfile3.c etc etc

Поскольку я хотел исключить некоторые файлы из списка фиксации, поэтому я поместил каждое имя файла вкомандная строка, как указано выше.Я положил его в блокнот, и он пришел около 25 файлов.Когда я копирую и вставляю его в командную строку, последние несколько файлов отсутствуют, и я предполагаю, что это может быть ограничение буфера командной строки (?).Можно ли увеличить длину буфера?

Можно ли поместить все файлы в текстовый файл и указать в качестве аргумента для svn commit?

Ответы [ 4 ]

154 голосов
/ 02 декабря 2010

Вы можете использовать svn changelist , чтобы отслеживать набор файлов, которые вы хотите зафиксировать вместе.

Связанная страница содержит множество деталей, но вот пример резюме:

$ svn changelist my-changelist mydir/dir1/file1.c mydir/dir2/myfile1.h
$ svn changelist my-changelist mydir/dir3/myfile3.c etc.
... (add all the files you want to commit together at your own rate)
$ svn commit -m"log msg" --changelist my-changelist
29 голосов
/ 02 декабря 2010

Вы можете использовать опцию --targets ARG, где ARG - это имя текстового файла, содержащего цели для фиксации.

svn ci --targets myfiles.txt -m "another commit"
27 голосов
/ 17 января 2013

У меня не было проблем с передачей нескольких файлов, подобных этому:

svn commit fileDir1/ fileDir2/ -m "updated!"
3 голосов
/ 02 декабря 2010

Используйте набор изменений. Вы можете добавить в набор изменений столько файлов, сколько захотите, сразу или несколькими командами; и затем передайте их всех за один раз.

...