在 Mercurial 中创建 DEFAULT 书签?

Create bookmark off of DEFAULT in Mercurial?

我们使用Mercurial,不允许创建命名分支,只能单独开发书签。只有 DEFAULT 分支必须存在于我们的上游仓库中。

我对书签的理解主要来自this page,所以我可能遗漏了一些东西。

我正在尝试弄清楚如何直接根据 DEFAULT 提示创建书签。为了使书签提示(比如 MYREV)与 DEFAULT 提示不同,似乎我必须返回一个修订版并从那里创建书签。

有没有办法直接从 DEFAULT 提示修订创建书签并将其作为单独的提示?

we use Mercurial and are not allowed to create branches

这是矛盾的。使用 Mercurial 意味着您可以对存储库的本地副本做任何您想做的事情。这就是分布式代码版本控制系统的全部意义所在!

制定该政策的人并不完全(甚至几乎不理解)善变。幸运的是,因为这是你自己的存储库副本,你可以做任何你想做的事,而且政策是不可执行的。

所以,老实说,这就是我对您问题的回答:您正在尝试使用书签构建分支。不。只需简单地使用分支。如果您的陌生经理弹出并要求添加书签,您可以将分支机构的提示添加为书签。

只需在提示上创建您的书签;创建书签使其成为 活动 书签,它会自动更新以跟随新的提交:

$ hg book new_bookmark_name
$ hg commit -m 'change message'

活动书签将简单地移至新提交;任何其他书签都留在原处。在给定时间只有一个书签处于活动状态。

您始终可以通过更新工作副本来激活现有书签:

$ hg up bookmark_name  # make bookmark_name active

Mercurial 中的书签就像物理世界中书籍中的书签一样;轻松移动到另一个页面。如果您的本地书签未激活但您进行了新提交,请手动将书签指向您的新提交:

$ hg book --force -r . bookmark_name

以上命令强制bookmark_name指向工作目录父版本。

没有书签;本地修改自然形成一个分支;书签只是让跟踪此类提交变得更容易。书签也只是简单的指针;指向特定修订的名称。您可以随时更新它们以指向另一个修订版。