将所有更改的文件放入SVN中的更改列表

时间:2012-01-09 15:56:30

标签: svn

运行SVN status后,如何将所有文件放入更改列表以保存复制并粘贴每个文件?

3 个答案:

答案 0 :(得分:4)

好吧,你可以写一个脚本来做这个......

你在哪个平台上? Windows还是Unix?您可以使用哪种脚本语言?

这是我刚才做的一个非常简单的事情:

$ svn cl my-changelist $(svn st | awk '{print $2}')

它可能需要一些工作(如果我更改了属性与文件或我更改了两者?如果我删除了文件怎么办?)。但是,它在我的(简单的)简单的情况下起作用。

答案 1 :(得分:1)

如果svn stat显示像+或〜

这样的标志,那么awk的print $ 2将会失败 切割可能更安全,例如。

svn st | cut -c9-

我的bash-fu不强,$()语法对我不起作用。我最终做了类似的事情:

for i in `svn st | cut -c9-` do; svn changelist my-changelist $i; done

答案 2 :(得分:0)

  1. 如果您有多个更改列表,则需要先过滤掉不相关的行。

    svn status | grep '^[ADMRC]' | cut -c9- | xargs svn changelist foo
    
  2. 如果您的文件名包含空格,则还需要使用eval

    eval "svn changelist foo $(svn status | grep '^[ADMRC]' | cut -c9- | sed 's/ /\\ /' | tr '\n' ' ')"
    

    sed 's/ /\\ /'逃离空间。

  3. 参考: