只使用subversion提交修改的文件

我有很长一段时间的承诺,因此想要错开承诺。 所以,当我这样做:

svn st | ack'^ M'

我只想提交这些文件

这是可能的通过命令行?

xargs命令对于这种事情是有用的。

假设你没有包含空格字符的文件名,你可以这样做:

svn st | sed -n 's/^M//p' | xargs svn commit 

如果文件名中有空格字符,则sed命令会变得稍微复杂一点,以便在每个文件名周围添加引号:

 svn st | sed -n 's/$/"/; s/^M */"/p' | xargs svn commit 

(我对ack不熟悉 – 也许在这些例子中它也可以用来代替sed