我的名字中有一个包含冒号(':')的分支。我怎么能关闭呢?
我无法完全更新它(目录中的文件在“hg up”之后会更新,但我收到错误消息“abort:':'不能在名称中使用”;以及“hg summary”显示正确的修订号和标记,但是前一个分支名称)。 “hg ci --close-branch”以“中止:只能关闭分支头”退出。
我可以通过改变集以正确的名称改变它,然后使用clone或strip修剪旧的,但我想知道是否还有其他解决方案。
UPD我已经使用了解决方法,但仍想知道一个简单的解决方案,以及其他人可能会发现它有用。
答案 0 :(得分:0)
你的问题不清楚,但是我能够在名称中创建一个带冒号的命名分支,通过修订号而不是名称更新它,并关闭它:
C:\temp>hg branches
blah:blah 2:32fbac773905
default 1:f132a6d0ce30
C:\temp>hg glog --template "{rev} {branch} {desc}\r\n"
o 2 blah:blah file3
|
| @ 1 default file2
|/
o 0 default file1
C:\temp>hg update 2
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
C:\temp>hg ci --close-branch -m closed
C:\temp>hg glog --template "{rev} {branch} {desc}\r\n"
@ 3 blah:blah closed
|
o 2 blah:blah file3
|
| o 1 default file2
|/
o 0 default file1
答案 1 :(得分:0)
Mercurial的文档在这一点上有点误导:分支名称中的冒号被接受,但是当您尝试使用该名称时,它被误解为修订范围。为防止hg将blah:blah
解析为范围,您可以将其编写为"branch('blah:blah')"
。例如:
hg log -r "branch('blah: blah')"
以上适用于相对较新版本的mercurial。听起来你有其他与版本相关的问题,但试一试。