Show More
@@ -34,7 +34,7 b' proc getcommits {rargs} {' | |||||
34 | set ncmupdate 1 |
|
34 | set ncmupdate 1 | |
35 | if [catch { |
|
35 | if [catch { | |
36 | set parse_args [concat --default HEAD $rargs] |
|
36 | set parse_args [concat --default HEAD $rargs] | |
37 |
set parsed_args [split [eval exec hg g |
|
37 | set parsed_args [split [eval exec hg debug-rev-parse $parse_args] "\n"] | |
38 | }] { |
|
38 | }] { | |
39 | # if git-rev-parse failed for some reason... |
|
39 | # if git-rev-parse failed for some reason... | |
40 | if {$rargs == {}} { |
|
40 | if {$rargs == {}} { | |
@@ -43,9 +43,9 b' proc getcommits {rargs} {' | |||||
43 | set parsed_args $rargs |
|
43 | set parsed_args $rargs | |
44 | } |
|
44 | } | |
45 | if [catch { |
|
45 | if [catch { | |
46 |
set commfd [open "|hg g |
|
46 | set commfd [open "|hg debug-rev-list --header --topo-order --parents $parsed_args" r] | |
47 | } err] { |
|
47 | } err] { | |
48 |
puts stderr "Error executing hg g |
|
48 | puts stderr "Error executing hg debug-rev-list: $err" | |
49 | exit 1 |
|
49 | exit 1 | |
50 | } |
|
50 | } | |
51 | set leftover {} |
|
51 | set leftover {} | |
@@ -113,7 +113,7 b' to allow selection of commits to be disp' | |||||
113 | if {[string length $shortcmit] > 80} { |
|
113 | if {[string length $shortcmit] > 80} { | |
114 | set shortcmit "[string range $shortcmit 0 80]..." |
|
114 | set shortcmit "[string range $shortcmit 0 80]..." | |
115 | } |
|
115 | } | |
116 |
error_popup "Can't parse hg g |
|
116 | error_popup "Can't parse hg debug-rev-list output: {$shortcmit}" | |
117 | exit 1 |
|
117 | exit 1 | |
118 | } |
|
118 | } | |
119 | set id [lindex $ids 0] |
|
119 | set id [lindex $ids 0] | |
@@ -164,7 +164,7 b' proc doupdate {reading} {' | |||||
164 | } |
|
164 | } | |
165 |
|
165 | |||
166 | proc readcommit {id} { |
|
166 | proc readcommit {id} { | |
167 |
if [catch {set contents [exec hg g |
|
167 | if [catch {set contents [exec hg debug-cat-file commit $id]}] return | |
168 | parsecommit $id $contents 0 {} |
|
168 | parsecommit $id $contents 0 {} | |
169 | } |
|
169 | } | |
170 |
|
170 | |||
@@ -1708,7 +1708,7 b' proc findpatches {} {' | |||||
1708 | } |
|
1708 | } | |
1709 |
|
1709 | |||
1710 | if {[catch { |
|
1710 | if {[catch { | |
1711 |
set f [open [list | hg g |
|
1711 | set f [open [list | hg debug-diff-tree --stdin -s -r -S$findstring \ | |
1712 | << $inputids] r] |
|
1712 | << $inputids] r] | |
1713 | } err]} { |
|
1713 | } err]} { | |
1714 | error_popup "Error starting search process: $err" |
|
1714 | error_popup "Error starting search process: $err" | |
@@ -1811,7 +1811,7 b' proc findfiles {} {' | |||||
1811 | # start off a git-diff-tree process if needed |
|
1811 | # start off a git-diff-tree process if needed | |
1812 | if {$diffsneeded ne {}} { |
|
1812 | if {$diffsneeded ne {}} { | |
1813 | if {[catch { |
|
1813 | if {[catch { | |
1814 |
set df [open [list | hg g |
|
1814 | set df [open [list | hg debug-diff-tree -r --stdin << $diffsneeded] r] | |
1815 | } err ]} { |
|
1815 | } err ]} { | |
1816 | error_popup "Error starting search process: $err" |
|
1816 | error_popup "Error starting search process: $err" | |
1817 | return |
|
1817 | return | |
@@ -1843,7 +1843,7 b' proc readfilediffs {df} {' | |||||
1843 | if {[catch {close $df} err]} { |
|
1843 | if {[catch {close $df} err]} { | |
1844 | stopfindproc |
|
1844 | stopfindproc | |
1845 | bell |
|
1845 | bell | |
1846 |
error_popup "Error in hg g |
|
1846 | error_popup "Error in hg debug-diff-tree: $err" | |
1847 | } elseif {[info exists findids]} { |
|
1847 | } elseif {[info exists findids]} { | |
1848 | set ids $findids |
|
1848 | set ids $findids | |
1849 | stopfindproc |
|
1849 | stopfindproc | |
@@ -2232,7 +2232,7 b' proc findgca {ids} {' | |||||
2232 | set gca $id |
|
2232 | set gca $id | |
2233 | } else { |
|
2233 | } else { | |
2234 | if {[catch { |
|
2234 | if {[catch { | |
2235 |
set gca [exec hg g |
|
2235 | set gca [exec hg debug-merge-base $gca $id] | |
2236 | } err]} { |
|
2236 | } err]} { | |
2237 | return {} |
|
2237 | return {} | |
2238 | } |
|
2238 | } | |
@@ -2320,7 +2320,7 b' proc showmergediff {} {' | |||||
2320 | catch {unset grouphunks} |
|
2320 | catch {unset grouphunks} | |
2321 | set groupfilelast -1 |
|
2321 | set groupfilelast -1 | |
2322 | foreach p $parents($diffmergeid) { |
|
2322 | foreach p $parents($diffmergeid) { | |
2323 |
set cmd [list | hg g |
|
2323 | set cmd [list | hg debug-diff-tree -p $p $diffmergeid] | |
2324 | set cmd [concat $cmd $mergefilelist($diffmergeid)] |
|
2324 | set cmd [concat $cmd $mergefilelist($diffmergeid)] | |
2325 | if {[catch {set f [open $cmd r]} err]} { |
|
2325 | if {[catch {set f [open $cmd r]} err]} { | |
2326 | error_popup "Error getting diffs: $err" |
|
2326 | error_popup "Error getting diffs: $err" | |
@@ -2764,7 +2764,7 b' proc gettreediffs {ids} {' | |||||
2764 | set treediff {} |
|
2764 | set treediff {} | |
2765 | set id [lindex $ids 0] |
|
2765 | set id [lindex $ids 0] | |
2766 | set p [lindex $ids 1] |
|
2766 | set p [lindex $ids 1] | |
2767 |
if [catch {set gdtf [open "|hg g |
|
2767 | if [catch {set gdtf [open "|hg debug-diff-tree -r $p $id" r]}] return | |
2768 | fconfigure $gdtf -blocking 0 |
|
2768 | fconfigure $gdtf -blocking 0 | |
2769 | fileevent $gdtf readable [list gettreediffline $gdtf $ids] |
|
2769 | fileevent $gdtf readable [list gettreediffline $gdtf $ids] | |
2770 | } |
|
2770 | } | |
@@ -2800,7 +2800,7 b' proc getblobdiffs {ids} {' | |||||
2800 | set id [lindex $ids 0] |
|
2800 | set id [lindex $ids 0] | |
2801 | set p [lindex $ids 1] |
|
2801 | set p [lindex $ids 1] | |
2802 | set env(GIT_DIFF_OPTS) $diffopts |
|
2802 | set env(GIT_DIFF_OPTS) $diffopts | |
2803 |
set cmd [list | hg g |
|
2803 | set cmd [list | hg debug-diff-tree -r -p -C $p $id] | |
2804 | if {[catch {set bdf [open $cmd r]} err]} { |
|
2804 | if {[catch {set bdf [open $cmd r]} err]} { | |
2805 | puts "error getting diffs: $err" |
|
2805 | puts "error getting diffs: $err" | |
2806 | return |
|
2806 | return | |
@@ -3387,7 +3387,7 b' proc mkpatchgo {} {' | |||||
3387 | set oldid [$patchtop.fromsha1 get] |
|
3387 | set oldid [$patchtop.fromsha1 get] | |
3388 | set newid [$patchtop.tosha1 get] |
|
3388 | set newid [$patchtop.tosha1 get] | |
3389 | set fname [$patchtop.fname get] |
|
3389 | set fname [$patchtop.fname get] | |
3390 |
if {[catch {exec hg g |
|
3390 | if {[catch {exec hg debug-diff-tree -p $oldid $newid >$fname &} err]} { | |
3391 | error_popup "Error creating patch: $err" |
|
3391 | error_popup "Error creating patch: $err" | |
3392 | } |
|
3392 | } | |
3393 | catch {destroy $patchtop} |
|
3393 | catch {destroy $patchtop} | |
@@ -3608,7 +3608,7 b' proc doquit {} {' | |||||
3608 | set datemode 0 |
|
3608 | set datemode 0 | |
3609 | set boldnames 0 |
|
3609 | set boldnames 0 | |
3610 | set diffopts "-U 5 -p" |
|
3610 | set diffopts "-U 5 -p" | |
3611 |
set wrcomcmd "hg g |
|
3611 | set wrcomcmd "hg debug-diff-tree --stdin -p --pretty" | |
3612 |
|
3612 | |||
3613 | set mainfont {Helvetica 9} |
|
3613 | set mainfont {Helvetica 9} | |
3614 | set textfont {Courier 9} |
|
3614 | set textfont {Courier 9} |
@@ -7,7 +7,7 b'' | |||||
7 | # This software may be used and distributed according to the terms |
|
7 | # This software may be used and distributed according to the terms | |
8 | # of the GNU General Public License, incorporated herein by reference. |
|
8 | # of the GNU General Public License, incorporated herein by reference. | |
9 |
|
9 | |||
10 | import time, sys, signal |
|
10 | import time, sys, signal, os | |
11 | from mercurial import hg, mdiff, fancyopts, commands, ui, util |
|
11 | from mercurial import hg, mdiff, fancyopts, commands, ui, util | |
12 |
|
12 | |||
13 | def dodiff(fp, ui, repo, node1, node2, files=None, match=util.always, |
|
13 | def dodiff(fp, ui, repo, node1, node2, files=None, match=util.always, | |
@@ -313,22 +313,28 b' def revlist(ui, repo, *revs, **opts):' | |||||
313 | copy = [x for x in revs] |
|
313 | copy = [x for x in revs] | |
314 | revtree(copy, repo, full, opts['max_count'], opts['parents']) |
|
314 | revtree(copy, repo, full, opts['max_count'], opts['parents']) | |
315 |
|
315 | |||
|
316 | def view(ui, repo, *etc): | |||
|
317 | "start interactive history viewer" | |||
|
318 | os.chdir(repo.root) | |||
|
319 | os.system("hgk " + " ".join(etc)) | |||
|
320 | ||||
316 | cmdtable = { |
|
321 | cmdtable = { | |
317 | "git-diff-tree": (difftree, [('p', 'patch', None, 'generate patch'), |
|
322 | "view": (view, [], 'hg view'), | |
|
323 | "debug-diff-tree": (difftree, [('p', 'patch', None, 'generate patch'), | |||
318 | ('r', 'recursive', None, 'recursive'), |
|
324 | ('r', 'recursive', None, 'recursive'), | |
319 | ('P', 'pretty', None, 'pretty'), |
|
325 | ('P', 'pretty', None, 'pretty'), | |
320 | ('s', 'stdin', None, 'stdin'), |
|
326 | ('s', 'stdin', None, 'stdin'), | |
321 | ('C', 'copy', None, 'detect copies'), |
|
327 | ('C', 'copy', None, 'detect copies'), | |
322 | ('S', 'search', "", 'search')], |
|
328 | ('S', 'search', "", 'search')], | |
323 | "hg git-diff-tree [options] node1 node2"), |
|
329 | "hg git-diff-tree [options] node1 node2"), | |
324 |
"g |
|
330 | "debug-cat-file": (catfile, [('s', 'stdin', None, 'stdin')], | |
325 | "hg cat-file [options] type file"), |
|
331 | "hg debug-cat-file [options] type file"), | |
326 |
"g |
|
332 | "debug-merge-base": (base, [], "hg debug-merge-base node node"), | |
327 |
"g |
|
333 | "debug-rev-list": (revlist, [('H', 'header', None, 'header'), | |
328 | ('t', 'topo-order', None, 'topo-order'), |
|
334 | ('t', 'topo-order', None, 'topo-order'), | |
329 | ('p', 'parents', None, 'parents'), |
|
335 | ('p', 'parents', None, 'parents'), | |
330 | ('n', 'max-count', 0, 'max-count')], |
|
336 | ('n', 'max-count', 0, 'max-count')], | |
331 |
"hg g |
|
337 | "hg debug-rev-list [options] revs"), | |
332 | } |
|
338 | } | |
333 |
|
339 | |||
334 | def reposetup(ui, repo): |
|
340 | def reposetup(ui, repo): |
General Comments 0
You need to be logged in to leave comments.
Login now