代码之家  ›  专栏  ›  技术社区  ›  Sylvain

如何在空的工作目录中使用“hg cat”?

  •  3
  • Sylvain  · 技术社区  · 15 年前

    我在x:/projects/repo1有一个回购。已使用清空工作目录 hg update null . 我想从那里提取一些文件的最新版本到一个本地目录。

    我试过这个:

    x:\projects\repo1> hg cat -o c:\sql\%s scripts\*.sql -r tip
    

    scripts\*.sql: No such file in rev 14f07c26178b
    

    如果工作目录不是空的,则相同的命令可以正常工作。有没有一个很好的理由说明这不起作用?或者你知道另一种把文件从那里提取到本地目录的方法吗?

    3 回复  |  直到 15 年前
        1
  •  5
  •   Ry4an Brase    15 年前

    这个 hg cat 命令用于单个文件。如果需要多个文件,请使用 hg archive 命令,使zipfiles或目录充满文件。这是你的命令:

    x:\projects\repo1> hg archive --include scripts\*.sql -r tip c:\sql
    
        2
  •  2
  •   Andrey Vlasovskikh    15 年前

    看来 hg cat 不支持路径中的通配符。所以您应该使用完整的文件名:

    hg cat -r tip scripts/foo.sql
    

    tip 修订版,您的shell将为您执行通配符替换。

    这个 hg manifest

        3
  •  2
  •   Community Mohan Dere    9 年前

    这个答案是对你的评论 Andrey's answer :

    hg manifest --rev 参数,可用于查看存储库中所有文件的列表:

    hg manifest --rev tip
    

    要获取与尖端模式匹配的文件列表,请使用:

    hg stat --all --include *.sql --rev tip --no-status
    hg stat -A -I *.sql --rev tip -n                    # using abbreviations.
    

    从那里,您可以将输出重定向到一个文件,并将每一行编辑为 hg cat 汞催化剂 使用工作目录的内容(而不是指定版本的存储库的内容)进行全局匹配,因此一旦知道文件的确切名称,就可以 汞催化剂 它在任何修订中都是如此。

    推荐文章