Mercurial 存储库损坏
我是 Mercurial 的新手,大约两个月了。我们正在一个新项目中使用它,并尝试创建一个新的存储库,即主干的克隆,以用作发布“分支”。
我们使用中央存储库,每个人都使用 hgwebdir.cgi 通过 https 向其拉取/推送。在服务器 hg 1.5.4 和“客户端”各种版本上使用,1.5.2 -> 1.6.3 一切都很好。克隆很好(克隆后进行 hg 验证),唯一的问题是这个存储库很快就损坏了(空或丢失;在清单中找不到)。
主仓库还可以,只是这个版本很快就被破坏了。 存储库的名称为(文件夹名称和发布名称,全部位于同一根文件夹中):
AB – 用于后备箱
ABRelease – 用于发布存储库
(阅读文档中的一些内容,这听起来可能是一个问题 - 请参阅
另一件非常奇怪的事情是,仅对主干(AB)进行的签入在发布分支上被视为可用,并且它们在验证时显示为错误(在清单中未找到)。不明白这些是如何到达那里的
。
I’m new to mercurial, about 2 months now. We are using it on a new project and tried to create a new repo, a clone of the trunk, to be used as release “branch”.
We use a central repo, everyone is pulling/pushing to/from it over https using hgwebdir.cgi. Using on server hg 1.5.4 and “clients” various versions, 1.5.2 -> 1.6.3
Everything thing was ok. The clone was good (hg verify after clone), the only problem is that very soon this repo got corrupted (empty or missing ; in manifests not found).
The main repo is ok, only this release get broken very soon.
The names of the repos are (folder names and published names, all reside in the same root folder):
A.B – for the trunk
A.B.Release – for the release repo
(read something in the docs, which sounded like this might be a issue – see
One other very strange thing is that checkins made only to trunk (A.B) are seen as available on the release branch, and they are displayed as errors on verify ( in manifests not found). Don’t understand how these got there.
Any clues?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这不是一个答案,但我会声明你正在做的事情绝对应该有效。确保线路协议具有完全的向后兼容性对于 Mercurial 人员来说非常重要。
两个存储库之间的“串扰”非常令人担忧,除非有人错误地使用了共享,否则不应发生这种情况扩展名。
如果您尝试使用
clone --pull
创建 ABRelease 克隆而不是单独克隆会怎样?It's not an answer, but I'll state that what you're doing is definitely supposed to work. Making sure the wire-protocol has full backwards compatibility is very important to the Mercurial folks.
The "cross-talk" between your two repos is very concerning and shouldn't happen unless someone erroniously used the share extension.
What if you try creating the A.B.Release clone by using
clone --pull
rather than clone by itself?