2013-10-15 17 views
0

我试图找到一个命令(可以是bash命令)来恢复一组svn文件。通过文件模式恢复svn文件

比方说,我有我的退房一些变化,我跑svn st,并得到如下的输出:

My-MacBook-2:trunk aetzioni$ svn st 
M SomeFolderA/src/main/java/com/mycompany/package/classA.java 
M SomeFolderA/main/java/com/mycompany/package/classB.java 
M SomeFolderB/src/main/java/com/mycompany/package/classC.java 

现在我想找到上的所有文件确实svn revertSomeFolderA下一个命令。

我想是这样的:

svn st | grep SomeFolderA | svn revert 

但得到这个错误信息:

svn: Try 'svn help' for more info 
svn: Not enough arguments provided 

回答

1

的方式我终于做到了就是创建这样的命令:

svn st | grep SomeFolderA | awk {'print $2'} | xargs svn revert 

说明:

  1. svn st - 查找所有修改过的文件
  2. grep SomeFolderA - 过滤svn的输出,只显示具有SomeFolderA
  3. awk {'print $2'}线 - 去除M在每个输出线
  4. xargs svn revert的开端 - xargs命令使用来自上一个命令的输出并将其按原样传递给svn revert命令