如何备份本地Mercurial存储库并使用rebase?

Lór*_*tér 7 mercurial

我的公司正在从Subversion迁移到Mercurial.其中一个原因是Hg我们希望能够更独立地工作.

我们期待使用变基作为我们从主存储库更新的主要方式,至少在开始时,将历史记录保持在一行,从而使从Subversion的过渡变得更容易.

现在,如果我们需要独立工作,我们有两个选择:在Subversion中创建一个分支,然后在那里提交(也就是合并地狱),或者根本不提交.对于Mercurial,我们希望能够继续在本地提交,并且经常进行反转,从而获得独立性,同时不受创建命名分支的管理成本.

这一切听起来都很酷,直到备份进入图片.使用Subversion很明显,如果有人没有提交,他们的工作就会丢失.但是没有提交很快变得不方便(没有历史,没有日志消息等),所以人们会一次又一次地提交.

使用Mercurial,可以继续进行提交和重新定位,而无需长时间推动,从而使更多的工作面临风险.所以出现了一个问题:如何在开发人员的机器上备份这些东西?

  • 一种解决方案是使用一些外部备份软件,但这听起来不是一个好主意.
  • 我们也可以一直推送到主回购(甚至可能自动?),但是这样就不可能使用变基,并且会导致很多主要的悬空头.
  • 我们可以推送备份回购,并尝试在主回购中只有一个头.这听起来很复杂.

有没有其他方法可以做到这一点?我想找到一个解决方案,让我们的开发人员在开始时使用他们的大部分Subversion知识.

Dav*_*ver 1

您还可以为每个开发人员提供一个存储库:

\n\n
\nhttps://example.com/repos/awesome-product\nhttps://example.com/repos/awesome-product-wolever\nhttps://example.com/repos/awesome-product-pint\xc3\xa9r \n
\n\n

在那里他们可以实现他们想要的一切。

\n\n

这意味着有很多悬而未决的头,但这可能没问题,因为在恢复\xe2\x80\xa6之前没有人会看它们然后你只需询问当前提示的祖先:

\n\n
\nhg pull https://example.com/repos/awesome-product-wolever -r 提示\n
\n\n

如果我使用这个方案,我会设置:

\n\n
\n[路径]\n备份 = https://example.com/repos/awesome-product-wolever\n
\n\n

.hgrc/hgrc

\n\n

或者,您可以通过在其全局中进行设置来为每个开发人员提供一个整体备份存储库~/.hgrc

\n\n
\n[路径]\n备份 = https://example.com/repos/wolever-backup\n
\n