2

在前面,我知道并研究过:

不幸的是,双方都没有讨论手头的问题。


问题

我如何教一个没有直接从 SVN 存储库克隆的现有 Mercurial 存储库,它有一个 SVN 存储库“父”要推送到?

现有的设置

我们有一种情况,由于带宽问题,我将svnsync远程“上游”SVN 存储库转移到我们的本地分支服务器。在每次成功同步后的此过程中,相应的cron作业将从hg pull本地svnsync'd SVN 存储库更改为 Mercurial 克隆。所有这些都可以正常工作,并且svnsync'd 存储库被配置为拒绝任何提交,但与“上游”存储库共享 UUID(这样可以svn switch --relocate ...正常工作)。

在此处输入图像描述

现在我们分支机构的开发人员有三个选择:

  1. 从远程(“上游”)存储库签出(
  2. 从本地分支服务器结帐(更快,但仍然是 SVN 速度损失
  3. 从本地分支服务器克隆 Hg 仓库(最快

因此,为了使最后一个版本正常工作,我需要能够告诉本地克隆远程“上游”SVN 存储库。我怎么做?

4

1 回答 1

0

AFAIK, you can't use two Subversion origins at the same time (cloned Mercurial repository will operate only with source-SVN repository later for pull and push): i.e you will not be able hg pull local + hg push remote

But, if local SVN-mirror used only once, for creating clone in Mercurial and later remote SVN is used only (push and pull), you can try replace default path in repository's .hgrc and change local URL to remote (for full mirror with shared UUID it may work)

于 2014-02-03T17:26:51.177 回答