0

我正在尝试找到一个命令(可以是 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 revertSomeFolderA.

我试过这样的事情:

svn st | grep SomeFolderA | svn revert

但收到此错误消息:

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

1 回答 1

5

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

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命令
于 2013-10-15T07:06:47.647 回答