【发布时间】:2011-04-08 17:54:07
【问题描述】:
我正在使用命令行 SVN 客户端(出于速度原因),并且有一个我希望在每次提交时忽略的文件更改列表(很像 TortoiseSVN)。有没有办法提交除特定更改列表之外的所有文件,或者只是提交不在更改列表中的所有文件?
谢谢
【问题讨论】:
标签: svn commit changelist
我正在使用命令行 SVN 客户端(出于速度原因),并且有一个我希望在每次提交时忽略的文件更改列表(很像 TortoiseSVN)。有没有办法提交除特定更改列表之外的所有文件,或者只是提交不在更改列表中的所有文件?
谢谢
【问题讨论】:
标签: svn commit changelist
没有。更改列表用于相反的方式。只需提交包含在更改列表中的文件,而不是将它们排除在提交之外。如果您想忽略某些文件,您应该将它们放入 svn:ignore 属性中,但前提是它们不受版本控制。
【讨论】:
假设您有一个名为 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 输出中提取文件名。
【讨论】: