Я попытался зафиксировать несколько файлов в разных каталогах одним выстрелом, как показано ниже:
svn commit –m”log msg” mydir/dir1/file1.c mydir/dir2/myfile1.h mydir/dir3/myfile3.c etc etc
Поскольку я хотел исключить некоторые файлы из списка фиксации, я поместил каждое имя файла в командную строку, как указано выше. Я собрал их в блокноте, и получилось около 25 файлов. Когда я копирую и вставляю его в командную строку, последние несколько файлов отсутствуют, и я предполагаю, что это может быть ограничение буфера командной строки (?). Есть ли возможность увеличить длину буфера?
Могу ли я поместить все файлы в текстовый файл в качестве аргумента для svn commit?
Ответы:
Вы можете использовать список изменений svn, чтобы отслеживать набор файлов, которые вы хотите зафиксировать вместе.
На связанной странице содержится множество деталей, но вот пример резюме:
источник
Вы можете использовать
--targets ARG
опцию, где ARG - это имя текстового файла, содержащего цели для фиксации.источник
find . -name \*my.mask | xargs svn ci -m"message" --targets -
У меня не было проблем с фиксацией нескольких таких файлов:
источник
Используйте набор изменений. Вы можете добавить в набор изменений столько файлов, сколько захотите, все сразу или несколькими командами; а затем зафиксируйте их все за один раз.
источник