我有一个 Mercurial 存储库,它是使用hgsubversion
. cron
这是一个由工作发生的连续过程。
由于 Subversion 存储库仍然是权威的,所有 Mercurial 克隆都被认为是只读的(这也是通过钩子强制执行的)。
我可以毫无问题地从这个转换后的仓库中克隆/提取。然而,由于带宽的某些限制,我们还在远程站点上放置了初始转换的克隆(最初通过捆绑创建)。
此外,我有一个转换后的 repo 的本地克隆,我尝试从中推送到原始的远程克隆。
大致:
["Original"] --------> [My local clone] --------> [Remote clone from bundle]
^
|
|
[SVN]
现在,每当我尝试推送到 时Remote clone from bundle
,我都会得到(出于隐私原因已编辑):
$ hg push --new-branch shortname
pushing to ssh://user@server//hg/repo
searching for changes
searching for changes
abort: push creates multiple headed new branch 'branch_name'
(merge or see "hg help push" for details about pushing new heads)
如果我将远程端存在的更改打包到一个传统的包中,使用它们到远程站点并在那里应用它们,这也没有问题hg bundle
。scp
问题
- 为什么会失败?
- 我如何克服这个问题才能成功推送?
我得到了--force
,顺便说一句:
$ hg push --force --new-branch shortname
pushing to ssh://user@server//hg/repo
searching for changes
searching for changes
abort: Invalid argument
Exception IOError: (22, 'Invalid argument') in <bound method lfileswirerepository.cleanup of <hgext.largefiles.proto.lfileswirerepository object at 0x00000000025BE5C0>> ignored