Как только зафиксировать файлы в безымянном списке изменений с SVN? - PullRequest
15 голосов
/ 06 сентября 2010

Я использую клиент командной строки SVN (по соображениям скорости) и имею список изменений файлов, которые я хочу игнорировать при каждой фиксации (так же, как это делает TortoiseSVN) Есть ли способ зафиксировать все файлы, кроме определенного списка изменений, или, может быть, просто зафиксировать все файлы, которых нет в списке изменений?

Спасибо

Ответы [ 2 ]

6 голосов
/ 06 сентября 2010

Нет. Список изменений предназначен для обратного. Просто зафиксируйте файлы, которые содержатся в списке изменений, и не исключайте их из фиксации. Если вы хотите игнорировать определенные файлы, вы должны поместить их в свойство svn:ignore, но только если они не находятся под контролем версий.

5 голосов
/ 31 июля 2013

Я использую следующий однострочник, если у вас есть список изменений с именем TO_IGNORE, куда вы помещаете файлы, которые вы не хотите фиксировать:

svn st | sed -e "/^--- Changelist 'TO_IGNORE'/,/^--- Changelist/d" | grep '^[ADMR]' | awk '{print $2}' | xargs svn ci

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

Команды sed удаляют все строки между списками изменений, которые вы хотите игнорировать, до следующего.

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

awk извлекает имя файла из вывода svn st.

...