如何只使用SVN在未命名的更改列表中提交文件?

时间:2010-09-06 11:42:08

标签: svn commit changelist

我正在使用命令行SVN客户端(出于速度原因)并且有一个我希望在每次提交时忽略的文件更改列表(很像TortoiseSVN)。有没有办法提交除特定更改列表之外的所有文件,或者只提交不在更改列表中的所有文件?

由于

2 个答案:

答案 0 :(得分:6)

没有。更改列表的目的是相反。只需提交更改列表中包含的文件,而不是将它们排除在提交之外。如果您想忽略某些文件,则应将它们放入svn:ignore属性中,但前提是它们不受版本控制。

答案 1 :(得分:5)

我使用以下单行,假设您有一个名为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输出中提取文件名。

相关问题