Ian*_*ill 6 git version-control mercurial dvcs
我没有运气使用Mercurial中的Bookmarks for Git就像分支一样.
从文章:https://www.mercurial-scm.org/wiki/BookmarksExtension,我在我的.hgrc文件中将"track.current"设置为true.
摘录如下:
默认情况下,当多个书签指向同一个变更集时,它们将一起向前移动.通过向.hgrc添加以下配置选项,可以获得更类似Git的体验
Run Code Online (Sandbox Code Playgroud)[bookmarks] track.current = True
但是,一旦我开始尝试在多个书签上进行并行/独立开发,然后在书签之间来回切换,我会遇到以下情况:
abort: crosses branches (use 'hg merge' or 'hg update -C')
Run Code Online (Sandbox Code Playgroud)
重现示例:
# 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')
Run Code Online (Sandbox Code Playgroud)
这是正常行为,因为在书签之间移动时会出现"交叉分支"强制合并或文件覆盖吗?
对于'类似Git的体验',我希望能够在bk1和bk2之间来回翻动,提交和开发,在我需要的时候合并.