15

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

谢谢

4

2 回答 2

6

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

于 2010-09-06T14:56:07.627 回答
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 输出中提取文件名。

于 2013-07-31T15:30:21.643 回答