@@ -39,7 +39,14 @@ func (dest *BranchHeads) copy(src *BranchHeads) {
39
39
func (r * Repository ) BranchHeads () (* BranchHeads , error ) {
40
40
bh := newBranchHeads ()
41
41
42
- names := []string {"branchheads-served" , "branchheads-base" , "branchheads" }
42
+ names := []string {
43
+ // Original Mercurial branchheads
44
+ "branchheads-served" , "branchheads-base" , "branchheads" ,
45
+
46
+ // branchheads -> branch2 as of
47
+ // http://selenic.com/pipermail/mercurial-devel/2013-November/054749.html
48
+ "branch2-served" , "branch2-base" , "branch2" ,
49
+ }
43
50
for _ , name := range names {
44
51
f , err := r .open (".hg/cache/" + name )
45
52
if os .IsNotExist (err ) {
@@ -73,11 +80,11 @@ func (bh *BranchHeads) parseFile(r io.Reader) error {
73
80
// first line is current numbered, don't include
74
81
continue
75
82
}
76
- branch := strings .SplitN (strings .TrimSpace (line ), " " , 2 )
77
- if len (branch ) != 2 {
83
+ branch := strings .SplitN (strings .TrimSpace (line ), " " , 3 )
84
+ if len (branch ) != 2 && len ( branch ) != 3 {
78
85
continue
79
86
}
80
- m [branch [1 ]] = branch [0 ]
87
+ m [branch [len ( branch ) - 1 ]] = branch [0 ]
81
88
}
82
89
// unify
83
90
for name , id := range m {
0 commit comments