Как я могу зафиксировать несколько каталогов одновременно, используя Subversion? - PullRequest
9 голосов
/ 18 мая 2009

Я пытался использовать svn ci dir / a dir / b -m "мой комментарий" но это не работает Я также использовал svn ci dir / a / * dir / b / * -m "мой комментарий" и это тоже не работает.

Я знаю, что вы можете указать несколько файлов, но как я могу сказать Subversion проверять все измененные файлы в этих папках? В основном я хочу сделать это, чтобы все мои изменения вступили в одну ревизию. Я могу проверить по одному каталогу за раз, но в итоге я получаю разные ревизии для каждого каталога.

Ответы [ 9 ]

9 голосов
/ 18 мая 2009

Возможно, вам потребуется указать, что означает «но это не работает», потому что здесь все работает нормально:

D:\Projects>svn commit -m 'test1' test\aaa "test\aaa bbb ccc"
Sending        test\aaa\aaa222\xxx.txt
Sending        test\aaa bbb ccc\aaa.txt
Transmitting file data ..
Committed revision 8.

D:\Projects>
4 голосов
/ 18 мая 2009
svn add dir/a
svn add dir/b
svn commit

Хотя, скорее всего, вы думаете:

svn add dir/*
svn commit
1 голос
/ 06 июня 2018

Вы можете использовать параметр --changelist, в верхней директории создать один список изменений со всеми файлами, которые вы хотите зафиксировать, после фиксации этого списка изменений.

источник и информация: svn book: список изменений

1 голос
/ 18 мая 2009

Я думаю, что у вас есть только 1 вариант: проверить в директории, в которой они оба находятся в подкаталогах.

Если они уже не организованы таким образом (то есть они оба являются каталогами верхнего уровня в репозитории), то вы мало что можете сделать - команды svn работают только с одним каталогом.

0 голосов
/ 02 июня 2016

Прошло много времени с тех пор, как этот вопрос был задан, но у меня есть обновление для всех опоздавших.

Предполагая, что у вас есть дерево типа dir / a, dir / b, dir / c, dir / d .... и вы хотите зафиксировать изменения только в подпапках a и b, работает следующая команда:

svn ci dir / a / * dir / b / * -m "мой комментарий"

Если это действительно не сработало, когда вы попробовали это семь лет назад, я могу только предположить, что эта функция была добавлена ​​в последующих выпусках.

0 голосов
/ 02 ноября 2014

Возникла похожая проблема. У меня был один репозиторий, и мне нужно было две отдельные рабочие копии некоторых подпапок репозитория. Хранилище было так:

/web/lib
/web/htdocs
...

... которые мне нужно было иметь в отдельных рабочих копиях (соответственно):

C:/.../web/lib
C:/.../htdocs/cbs

Я решил эту проблему, имея «главную» рабочую копию /web в C:/.../web и создавая жесткую ссылку (или переход NTFS) в C:/.../htdocs/cbs, «указывающую» на C:/.../web/htdocs. Поэтому, когда я делаю локальные изменения в одной из этих рабочих копий, я всегда фиксирую C:/.../web, который, естественно, содержит изменения обеих рабочих копий.

Я надеюсь, что этот способ может быть полезен для Вас.

0 голосов
/ 15 июня 2011

Учитывая приведенный ниже запрос

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

перейдите в каталог верхнего уровня и выполните команду

svn ci -m "comments"

при этом будут проверены все измененные файлы в каталоге верхнего уровня и во многих подкаталогах под ним.

0 голосов
/ 18 мая 2009

Рассмотрите возможность использования свойства svn: externals для проверки части хранилища. Вы можете выбрать, какие каталоги получить, а затем зафиксировать несколько пунктов назначения за один шаг. Некоторое время мы использовали этот подход с большим успехом.

0 голосов
/ 18 мая 2009

Это легко, если вы выписываетесь из папки более высокого уровня, где находятся a и b. Поэтому, если ваша рабочая копия - «dir», а a и b имеют изменения, передайте «dir», чтобы зафиксировать изменения в обоих. Я делаю это все время.

Edit:
Чтобы зафиксировать несколько папок, вам нужно, чтобы они были в одной рабочей копии.

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

Информация о разреженных каталогах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...