Как фиксировать файлы только в списке имен с именем SVN?

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

Спасибо

Ответы

Ответ 1

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

Ответ 2

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

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

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

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

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

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