Show More
@@ -276,6 +276,7 b' proc parsecommit {id contents listed old' | |||
|
276 | 276 | set comdate {} |
|
277 | 277 | set rev {} |
|
278 | 278 | set branch {} |
|
279 | set bookmark {} | |
|
279 | 280 | if {![info exists nchildren($id)]} { |
|
280 | 281 | set children($id) {} |
|
281 | 282 | set nchildren($id) 0 |
@@ -314,7 +315,9 b' proc parsecommit {id contents listed old' | |||
|
314 | 315 | set rev [lindex $line 1] |
|
315 | 316 | } elseif {$tag == "branch"} { |
|
316 | 317 | set branch [join [lrange $line 1 end]] |
|
317 | } | |
|
318 | } elseif {$tag == "bookmark"} { | |
|
319 | set bookmark [join [lrange $line 1 end]] | |
|
320 | } | |
|
318 | 321 | } |
|
319 | 322 | } else { |
|
320 | 323 | if {$comment == {}} { |
@@ -338,7 +341,7 b' proc parsecommit {id contents listed old' | |||
|
338 | 341 | set comdate [clock format $comdate -format "%Y-%m-%d %H:%M:%S"] |
|
339 | 342 | } |
|
340 | 343 | set commitinfo($id) [list $headline $auname $audate \ |
|
341 | $comname $comdate $comment $rev $branch] | |
|
344 | $comname $comdate $comment $rev $branch $bookmark] | |
|
342 | 345 | |
|
343 | 346 | if {[info exists firstparents]} { |
|
344 | 347 | set i [lsearch $firstparents $id] |
@@ -369,7 +372,7 b' proc parsecommit {id contents listed old' | |||
|
369 | 372 | } |
|
370 | 373 | |
|
371 | 374 | proc readrefs {} { |
|
372 | global tagids idtags headids idheads tagcontents env curid | |
|
375 | global bookmarkcurrent bookmarkids tagids idtags idbookmarks headids idheads tagcontents env curid | |
|
373 | 376 | |
|
374 | 377 | set status [catch {exec $env(HG) --config ui.report_untrusted=false id} curid] |
|
375 | 378 | if { $status != 0 } { |
@@ -417,6 +420,28 b' proc readrefs {} {' | |||
|
417 | 420 | } |
|
418 | 421 | } |
|
419 | 422 | |
|
423 | set status [catch {exec $env(HG) --config ui.report_untrusted=false bookmarks} bookmarks] | |
|
424 | if { $status != 0 } { | |
|
425 | puts $::errorInfo | |
|
426 | if { ![string equal $::errorCode NONE] } { | |
|
427 | exit 2 | |
|
428 | } | |
|
429 | } | |
|
430 | set lines [split $bookmarks "\n"] | |
|
431 | set bookmarkcurrent 0 | |
|
432 | foreach f $lines { | |
|
433 | regexp {(\S+)$} $f full | |
|
434 | regsub {\s+(\S+)$} $f "" direct | |
|
435 | set sha [split $full ':'] | |
|
436 | set bookmark [lindex $sha 1] | |
|
437 | set current [string first " * " $direct)] | |
|
438 | regsub {^\s(\*|\s)\s} $direct "" direct | |
|
439 | lappend bookmarkids($direct) $bookmark | |
|
440 | lappend idbookmarks($bookmark) $direct | |
|
441 | if {$current >= 0} { | |
|
442 | set bookmarkcurrent $direct | |
|
443 | } | |
|
444 | } | |
|
420 | 445 | } |
|
421 | 446 | |
|
422 | 447 | proc readotherrefs {base dname excl} { |
@@ -1042,7 +1067,7 b' proc drawcommitline {level} {' | |||
|
1042 | 1067 | global canv canv2 canv3 mainfont namefont canvy linespc |
|
1043 | 1068 | global lineid linehtag linentag linedtag commitinfo |
|
1044 | 1069 | global colormap numcommits currentparents dupparents |
|
1045 | global idtags idline idheads idotherrefs | |
|
1070 | global idtags idline idheads idotherrefs idbookmarks | |
|
1046 | 1071 | global lineno lthickness mainline mainlinearrow sidelines |
|
1047 | 1072 | global commitlisted rowtextx idpos lastuse displist |
|
1048 | 1073 | global oldnlines olddlevel olddisplist |
@@ -1100,7 +1125,7 b' proc drawcommitline {level} {' | |||
|
1100 | 1125 | set rowtextx($lineno) $xt |
|
1101 | 1126 | set idpos($id) [list $x $xt $y1] |
|
1102 | 1127 | if {[info exists idtags($id)] || [info exists idheads($id)] |
|
1103 | || [info exists idotherrefs($id)]} { | |
|
1128 | || [info exists idotherrefs($id)] || [info exists idbookmarks($id)]} { | |
|
1104 | 1129 | set xt [drawtags $id $x $xt $y1] |
|
1105 | 1130 | } |
|
1106 | 1131 | set headline [lindex $commitinfo($id) 0] |
@@ -3840,8 +3865,12 b' proc wrcomcan {} {' | |||
|
3840 | 3865 | } |
|
3841 | 3866 | |
|
3842 | 3867 | proc listrefs {id} { |
|
3843 | global idtags idheads idotherrefs | |
|
3844 | ||
|
3868 | global idtags idheads idotherrefs idbookmarks | |
|
3869 | ||
|
3870 | set w {} | |
|
3871 | if {[info exists idbookmarks($id)]} { | |
|
3872 | set w $idbookmarks($id) | |
|
3873 | } | |
|
3845 | 3874 | set x {} |
|
3846 | 3875 | if {[info exists idtags($id)]} { |
|
3847 | 3876 | set x $idtags($id) |
@@ -3854,26 +3883,29 b' proc listrefs {id} {' | |||
|
3854 | 3883 | if {[info exists idotherrefs($id)]} { |
|
3855 | 3884 | set z $idotherrefs($id) |
|
3856 | 3885 | } |
|
3857 | return [list $x $y $z] | |
|
3886 | return [list $w $x $y $z] | |
|
3858 | 3887 | } |
|
3859 | 3888 | |
|
3860 | 3889 | proc rereadrefs {} { |
|
3861 | global idtags idheads idotherrefs | |
|
3862 | global tagids headids otherrefids | |
|
3890 | global idbookmarks idtags idheads idotherrefs | |
|
3891 | global bookmarkids tagids headids otherrefids | |
|
3863 | 3892 | |
|
3864 | 3893 | set refids [concat [array names idtags] \ |
|
3865 |
[array names idheads] [array names idotherrefs] |
|
|
3894 | [array names idheads] [array names idotherrefs] \ | |
|
3895 | [array names idbookmarks]] | |
|
3866 | 3896 | foreach id $refids { |
|
3867 | 3897 | if {![info exists ref($id)]} { |
|
3868 | 3898 | set ref($id) [listrefs $id] |
|
3869 | 3899 | } |
|
3870 | 3900 | } |
|
3871 |
foreach v {tagids idtags headids idheads otherrefids idotherrefs |
|
|
3901 | foreach v {tagids idtags headids idheads otherrefids idotherrefs \ | |
|
3902 | bookmarkids idbookmarks} { | |
|
3872 | 3903 | catch {unset $v} |
|
3873 | 3904 | } |
|
3874 | 3905 | readrefs |
|
3875 | 3906 | set refids [lsort -unique [concat $refids [array names idtags] \ |
|
3876 |
[array names idheads] [array names idotherrefs] |
|
|
3907 | [array names idheads] [array names idotherrefs] \ | |
|
3908 | [array names idbookmarks]]] | |
|
3877 | 3909 | foreach id $refids { |
|
3878 | 3910 | set v [listrefs $id] |
|
3879 | 3911 | if {![info exists ref($id)] || $ref($id) != $v} { |
General Comments 0
You need to be logged in to leave comments.
Login now