没有父母的mercurial修订是什么意思?

没有父母的mercurial修订是什么意思?,第1张

概述我现在有一个处于奇怪状态的Mercurial存储库.这就是TortoiseHG的样子: 我不认为这是可能的.修订版54具有父“1(000000000000)”(即没有).显然我对Mercurial还有一些不了解的事情,任何人都可以让我知道这意味着什么 – 以及进入这种状态必然会发生什么.据我所知,它只是推送和拉出它的东西 – 并没有人使用任何古怪的扩展. 修订版54和55只是添加标签,但如果我’更 我现在有一个处于奇怪状态的Mercurial存储库.这就是TortoiseHG的样子:

我不认为这是可能的.修订版54具有父“1(000000000000)”(即没有).显然我对Mercurial还有一些不了解的事情,任何人都可以让我知道这意味着什么 – 以及进入这种状态必然会发生什么.据我所知,它只是推送和拉出它的东西 – 并没有人使用任何古怪的扩展.

修订版54和55只是添加标签,但如果我’更新-C’到版本54,我最终只能使用.hgTags文件.

我从修订版53中克隆了一下来解决这个问题.但我宁愿理解这里发生的事情,所以我可以避免它再次发生.

解决方法 当您查看 definition of a changeset时,您会看到:

Each changeset has zero,one or two parent changesets:

It has two parent changesets,if the commit was a merge. It has no parent,if the changeset is a root in the repository.
There may be multiple roots in a repository (normally,there is only one),each representing the start of a branch.

“Updating” back to a changeset which already has a child,changing files and then committing creates a new child changeset,thus starting a new branch. Branches can be named.

也许这就是你做的:

>更新回53(当时已经有一个孩子’54’了)
>更改文件
>提交,从而从54开始一个新的分支,没有父母
(那将使用相同的父进行第二次提交)

要么:

>用--close-branch option进行53投票,
>可能新的提交(不切换回另一个分支)可能会开始一个新的提交

Ry4an(真正的Mercurial专家;))编钟和评论:

--close-branch doesn’t do anything except hIDe a branch from a List,and it’s undone next time you commit on that branch. It won’t create multiple roots.

VonC is right in his diagnosis,multiple heads.
But no combination of ‘update‘ and ‘commit‘ will get you into that state.
To end up with multiple roots one usually has done a ‘hg pull‘ from repo and used --force to overrIDe an “unrelated repositorIEs” warning.

(“无父”,表示父ID设置为00000,见“behind the scene”:

alt text http://hgbook.red-bean.com/read/figs/revlog.png)

总结

以上是内存溢出为你收集整理的没有父母的mercurial修订是什么意思?全部内容,希望文章能够帮你解决没有父母的mercurial修订是什么意思?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1207407.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存