按文件模式还原svn文件

时间:2013-10-15 06:56:14

标签: bash svn revert

我正在尝试查找一个命令(可以是bash命令)来恢复一组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 revert下的所有文件SomeFolderA执行的命令。

我试过这样的事情:

svn st | grep SomeFolderA | svn revert

但收到此错误消息:

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

1 个答案:

答案 0 :(得分:4)

我最终做到的方法是创建这个命令:

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

说明:

  1. svn st - 查找所有修改过的文件
  2. grep SomeFolderA - 过滤svn输出,仅显示包含SomeFolderA
  3. 的行
  4. awk {'print $2'} - 删除每个输出行开头的M
  5. xargs svn revert - xargs命令使用上一个命令的输出并按原样将其传递给svn revert命令