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