【问题标题】:How to revert files with specific extension in svn?如何在svn中恢复具有特定扩展名的文件?
【发布时间】:2009-12-29 13:39:34
【问题描述】:

我想做这样的事情:

svn revert --recursive mydata/*/*.txt

我希望它还原目录 mydata 中所有扩展名为 *.txt 的文件。有没有办法做到这一点?

【问题讨论】:

    标签: svn file revert


    【解决方案1】:

    在兼容 POSIX 的操作系统(Linux/Mac/Cygwin)上:

    find mydata -mindepth 2 -name \*.txt | xargs svn revert
    

    On Windows(在批处理文件中使用 %%G,在命令行中使用 %G):

    FOR /R mydata %G IN (*.txt) DO svn revert "%G"
    

    严格来说,Windows 命令会影响mydata/*.txtmydata/*/*.txtmydata/*/*/*.txt 等等,所以也许它并不完全符合您的要求......但也许它足以让您到达那里。

    【讨论】:

    • 我是从 perl 做的,所以是的 - 我可以自己遍历文件,但我想知道是否有办法在单个 svn 命令中做到这一点。
    • 这没有标记为“仅适用于 linux 和 mac”,但它仅适用于 linux 和 mac。可悲的是,Windows 上似乎没有办法?
    • 我修改了答案,为 Windows 添加了一个可能的解决方案。
    【解决方案2】:

    您使用的是 Linux 还是其他支持 find 的 Unix 变体? (哎呀,在 cygwin 中也可能没问题。)如果是这样,试试这个:

    svn revert `find mydata -name '*.txt'`
    

    如果您有 很多 个文件,您可能需要改用 xargs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-26
      • 2019-07-21
      • 1970-01-01
      • 2019-01-27
      • 1970-01-01
      • 1970-01-01
      • 2016-01-06
      • 2020-06-06
      相关资源
      最近更新 更多