Как фиксировать файлы только в списке имен с именем 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.