【问题标题】:Is there a way to push all bookmarks to another repo, all at once? (Mercurial)有没有办法一次将所有书签推送到另一个仓库? (水银)
【发布时间】:2012-03-03 17:10:13
【问题描述】:

我正在将一个 Mercurial 存储库导入另一个存储库,并保留历史记录。默认分支上有几个带有书签的头像,我希望这些带有书签的头像仍然在新的合并存储库中添加书签。据我所知,有两种方法可以做到这一点,

  1. 单独拉出每个书签
  2. 拉动整个东西并手动重新创建书签。

【问题讨论】:

    标签: mercurial


    【解决方案1】:

    扩展上一个答案,这里是如何使用 awk 推送所有分支以及 bash 中 hg 书签的输出:

    hg bookmarks | awk '{if (NF == 3) print $2; else print $1;}' | xargs -n 1 hg push -f -B
    

    【讨论】:

    • 我让它更快(每个书签不调用 hg 一次)。 hg bookmarks | awk '{if (NF == 3) print "-B " $2; else print "-B " $1;}' | xargs hg push
    • 如果有人能在本地删除书签时,如果有人能得到这个来删除书签,我们将不胜感激。
    【解决方案2】:

    Unix:

    hg push $(hg bookmarks -T "-B {bookmark} ")
    

    窗户:

    for /f "delims=" %A in ('hg bookmarks -T "-B {bookmark} "') do @hg push %A
    

    PowerShell:

    hg bookmarks -T "{bookmark}\n" | %{ Write-Host === Bookmark $_ === ; hg push -B $_ }
    

    【讨论】:

      【解决方案3】:

      -B 参数可以在 push 中使用任意次数。您可以从hg bookmarks获得完整的回购书签列表

      【讨论】:

      • 不理想,但足够简单,可以在hg bookmarks 的输出上运行正则表达式替换以获取列表。
      猜你喜欢
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      • 2012-04-23
      • 2016-06-26
      • 1970-01-01
      • 2021-06-19
      相关资源
      最近更新 更多