Mercurial书签和';Git-like分支';

Mercurial书签和';Git-like分支';,git,version-control,mercurial,dvcs,Git,Version Control,Mercurial,Dvcs,我在Mercurial中使用类似Git的分支的书签一点运气都没有 从文章:,我在.hgrc文件中将“track.current”设置为true 摘录如下: 默认情况下,当多个书签 指向相同的变更集,它们将 大家一起前进。它是 可能获得更像Git的 通过添加以下内容获得经验 .hgrc的配置选项 [bookmarks] track.current = True 然而,当我开始尝试对多个书签进行并行/独立开发,然后在书签之间来回切换时,我遇到了以下问题: abort: crosses branch

我在Mercurial中使用类似Git的分支的书签一点运气都没有

从文章:,我在.hgrc文件中将“track.current”设置为true

摘录如下:

默认情况下,当多个书签 指向相同的变更集,它们将 大家一起前进。它是 可能获得更像Git的 通过添加以下内容获得经验 .hgrc的配置选项

[bookmarks]
track.current = True
然而,当我开始尝试对多个书签进行并行/独立开发,然后在书签之间来回切换时,我遇到了以下问题:

abort: crosses branches (use 'hg merge' or 'hg update -C')
复制示例:

# Make a new directory and Mercurial repository
$ mkdir bookmark
$ cd bookmark
$ hg init

# Create two bookmarks
$ hg bookmark bk1
$ hg bookmark bk2

# Checkout bk1
$ hg update bk1
0 files updated, 0 files merged, 0 files removed, 0 files unresolved

# Create and commit a file to bk1
$ touch bk1.txt
$ hg add
adding bk1.txt
$ hg commit -m "bk1 file"

# Checkout bk2
$ hg update bk2
0 files updated, 0 files merged, 1 files removed, 0 files unresolved

# Create and commit a file to bk2
$ touch bk2.txt
$ hg add
adding bk2.txt
$ hg commit -m "bk2 file"
created new head

# Checkout bk1
$ hg up bk1
abort: crosses branches (use 'hg merge' or 'hg update -C')
在书签之间移动时,会有“交叉分支”强制合并或文件覆盖,这是正常行为吗


对于“类似Git的体验”,我希望能够在bk1和bk2之间来回切换,在其中任何一个上进行提交和开发,并在需要时进行合并。

请升级到上周发布的Mercurial 1.4。然后,您将能够在没有警告的情况下在分支上的头之间切换。

使用Mercurial 1.4之前的版本,只要您的工作树是干净的(没有未提交的更改),您就可以提供-c标志。

您的hg版本是什么?最新版本可能只是切换分支。更新到Mercurial 1.4,可以确认它在没有中止/警告的情况下提供了类似书签git的分支行为。非常感谢你的回复!PS:我喜欢你的用户名:-)此外,升级到版本1.6(将在两周内发布)以获得书签,您可以在存储库之间进行推/拉操作。继续发布:书签扩展计划作为Mercurial 1.8的核心功能包括在内,您将在三月份看到。