选择性还原本地修改的文件

时间:2011-02-07 10:10:34

标签: svn

当还原已在本地修改的文件时,有没有办法排除文件?由于我无法控制的情况,我目前的工作流程是:

  1. 创建我想要包含的文件的差异
  2. svn status以获取修改列表
  3. svn revert,copypasting diff
  4. 中包含的文件
  5. rm'ing剩菜 - 即添加不受版本控制的文件
  6. 我所追求的东西看起来像

    svn revert -R --exclude file1 --exclude file2 /my/path
    

2 个答案:

答案 0 :(得分:4)

使用changelists

将所有文件标记为to_revert
  $ svn changelist to_revert -R /my/path

取消一些文件:
$ svn changelist --remove file1 file2

仅还原已标记的文件:
$ svn revert --changelist to_revert -R /my/path

答案 1 :(得分:0)

使用find进行匹配。

find . -name .svn -prune -o -name file1 -o -name file2 -o -print0 |
    xargs -0 svn revert --
  • -name file1在任何子目录
  • 中排除文件名
  • -path ./src/file1按特定路径排除,
  • -path ./src/dir1 -prune排除整个目录。