Mercurial:从未版本的副本中提取更改

时间:2010-06-07 19:44:19

标签: version-control mercurial

我目前正在维护我正在处理的项目的Mercurial存储库。

然而,团队的其他成员却没有。

我可以通过SSH访问代码库的“好”(无版本)副本。我想做的是,只要它被更新,就可以从那个好的副本中做hg pull之类的东西到我的主存储库中。

据我所知,没有明显的方法可以做到这一点,因为hg pull要求你有一个源hg存储库。

我想我可以使用像rsync这样的实用程序来更新我的存储库,然后提交,但我想知道:

是否有一种更简单/更少人为的方法可以做到这一点?

1 个答案:

答案 0 :(得分:4)

简而言之:不是我所知道的。

但是,如果我在你的位置,我会将“中央”代码保存在一个分支中,在另一个分支中执行我的开发,然后使用适当的推/拉脚本。

例如,pull脚本将:

  1. hg co central(如果工作副本有未提交的更改,请确保中止)
  2. rsync ssh://central/repo
  3. hg ci -m "snapshot of central on $(date)"
  4. 推送脚本将类似于:

    1. ./pull
    2. hg co central
    3. hg merge <your working branch>
    4. ...测试,解决任何冲突......
    5. rsync . ssh://central/repo
    6. 最后,我会大量使用线索棒直到团队的其他成员加入:)(尽管你可能已经知道了)。