Mercurial > hg > mercurial-crew-with-dirclash
changeset 1278:6a0d373d3126
hgit -> hgk.py
Move hgit to hgk.py
- importing hgit as an extension created compiled hgitc, which was confusing
- hgit existed to support hgk so it was slightly misnamed
- removed executable bit as we no longer run it directly
- add 'view' command so we can run hg view
- change git-* commands to debug-* so hg help won't show them
- chdir to repository root on view so hgk doesn't choke in subdirs
author | mpm@selenic.com |
---|---|
date | Mon, 19 Sep 2005 15:59:17 -0700 |
parents | 0bf11906df28 |
children | 8ab1c07d4e0b |
files | contrib/hgk contrib/hgk.py |
diffstat | 2 files changed, 27 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/contrib/hgk +++ b/contrib/hgk @@ -34,7 +34,7 @@ proc getcommits {rargs} { set ncmupdate 1 if [catch { set parse_args [concat --default HEAD $rargs] - set parsed_args [split [eval exec hg git-rev-parse $parse_args] "\n"] + set parsed_args [split [eval exec hg debug-rev-parse $parse_args] "\n"] }] { # if git-rev-parse failed for some reason... if {$rargs == {}} { @@ -43,9 +43,9 @@ proc getcommits {rargs} { set parsed_args $rargs } if [catch { - set commfd [open "|hg git-rev-list --header --topo-order --parents $parsed_args" r] + set commfd [open "|hg debug-rev-list --header --topo-order --parents $parsed_args" r] } err] { - puts stderr "Error executing hg git-rev-list: $err" + puts stderr "Error executing hg debug-rev-list: $err" exit 1 } set leftover {} @@ -113,7 +113,7 @@ to allow selection of commits to be disp if {[string length $shortcmit] > 80} { set shortcmit "[string range $shortcmit 0 80]..." } - error_popup "Can't parse hg git-rev-list output: {$shortcmit}" + error_popup "Can't parse hg debug-rev-list output: {$shortcmit}" exit 1 } set id [lindex $ids 0] @@ -164,7 +164,7 @@ proc doupdate {reading} { } proc readcommit {id} { - if [catch {set contents [exec hg git-cat-file commit $id]}] return + if [catch {set contents [exec hg debug-cat-file commit $id]}] return parsecommit $id $contents 0 {} } @@ -1708,7 +1708,7 @@ proc findpatches {} { } if {[catch { - set f [open [list | hg git-diff-tree --stdin -s -r -S$findstring \ + set f [open [list | hg debug-diff-tree --stdin -s -r -S$findstring \ << $inputids] r] } err]} { error_popup "Error starting search process: $err" @@ -1811,7 +1811,7 @@ proc findfiles {} { # start off a git-diff-tree process if needed if {$diffsneeded ne {}} { if {[catch { - set df [open [list | hg git-diff-tree -r --stdin << $diffsneeded] r] + set df [open [list | hg debug-diff-tree -r --stdin << $diffsneeded] r] } err ]} { error_popup "Error starting search process: $err" return @@ -1843,7 +1843,7 @@ proc readfilediffs {df} { if {[catch {close $df} err]} { stopfindproc bell - error_popup "Error in hg git-diff-tree: $err" + error_popup "Error in hg debug-diff-tree: $err" } elseif {[info exists findids]} { set ids $findids stopfindproc @@ -2232,7 +2232,7 @@ proc findgca {ids} { set gca $id } else { if {[catch { - set gca [exec hg git-merge-base $gca $id] + set gca [exec hg debug-merge-base $gca $id] } err]} { return {} } @@ -2320,7 +2320,7 @@ proc showmergediff {} { catch {unset grouphunks} set groupfilelast -1 foreach p $parents($diffmergeid) { - set cmd [list | hg git-diff-tree -p $p $diffmergeid] + set cmd [list | hg debug-diff-tree -p $p $diffmergeid] set cmd [concat $cmd $mergefilelist($diffmergeid)] if {[catch {set f [open $cmd r]} err]} { error_popup "Error getting diffs: $err" @@ -2764,7 +2764,7 @@ proc gettreediffs {ids} { set treediff {} set id [lindex $ids 0] set p [lindex $ids 1] - if [catch {set gdtf [open "|hg git-diff-tree -r $p $id" r]}] return + if [catch {set gdtf [open "|hg debug-diff-tree -r $p $id" r]}] return fconfigure $gdtf -blocking 0 fileevent $gdtf readable [list gettreediffline $gdtf $ids] } @@ -2800,7 +2800,7 @@ proc getblobdiffs {ids} { set id [lindex $ids 0] set p [lindex $ids 1] set env(GIT_DIFF_OPTS) $diffopts - set cmd [list | hg git-diff-tree -r -p -C $p $id] + set cmd [list | hg debug-diff-tree -r -p -C $p $id] if {[catch {set bdf [open $cmd r]} err]} { puts "error getting diffs: $err" return @@ -3387,7 +3387,7 @@ proc mkpatchgo {} { set oldid [$patchtop.fromsha1 get] set newid [$patchtop.tosha1 get] set fname [$patchtop.fname get] - if {[catch {exec hg git-diff-tree -p $oldid $newid >$fname &} err]} { + if {[catch {exec hg debug-diff-tree -p $oldid $newid >$fname &} err]} { error_popup "Error creating patch: $err" } catch {destroy $patchtop} @@ -3608,7 +3608,7 @@ proc doquit {} { set datemode 0 set boldnames 0 set diffopts "-U 5 -p" -set wrcomcmd "hg git-diff-tree --stdin -p --pretty" +set wrcomcmd "hg debug-diff-tree --stdin -p --pretty" set mainfont {Helvetica 9} set textfont {Courier 9}
old mode 100755 new mode 100644 rename from contrib/hgit rename to contrib/hgk.py --- a/contrib/hgit +++ b/contrib/hgk.py @@ -7,7 +7,7 @@ # This software may be used and distributed according to the terms # of the GNU General Public License, incorporated herein by reference. -import time, sys, signal +import time, sys, signal, os from mercurial import hg, mdiff, fancyopts, commands, ui, util def dodiff(fp, ui, repo, node1, node2, files=None, match=util.always, @@ -313,22 +313,28 @@ def revlist(ui, repo, *revs, **opts): copy = [x for x in revs] revtree(copy, repo, full, opts['max_count'], opts['parents']) +def view(ui, repo, *etc): + "start interactive history viewer" + os.chdir(repo.root) + os.system("hgk " + " ".join(etc)) + cmdtable = { - "git-diff-tree": (difftree, [('p', 'patch', None, 'generate patch'), + "view": (view, [], 'hg view'), + "debug-diff-tree": (difftree, [('p', 'patch', None, 'generate patch'), ('r', 'recursive', None, 'recursive'), ('P', 'pretty', None, 'pretty'), ('s', 'stdin', None, 'stdin'), ('C', 'copy', None, 'detect copies'), ('S', 'search', "", 'search')], "hg git-diff-tree [options] node1 node2"), - "git-cat-file": (catfile, [('s', 'stdin', None, 'stdin')], - "hg cat-file [options] type file"), - "git-merge-base": (base, [], "hg git-merge-base node node"), - "git-rev-list": (revlist, [('H', 'header', None, 'header'), + "debug-cat-file": (catfile, [('s', 'stdin', None, 'stdin')], + "hg debug-cat-file [options] type file"), + "debug-merge-base": (base, [], "hg debug-merge-base node node"), + "debug-rev-list": (revlist, [('H', 'header', None, 'header'), ('t', 'topo-order', None, 'topo-order'), ('p', 'parents', None, 'parents'), ('n', 'max-count', 0, 'max-count')], - "hg git-rev-list [options] revs"), + "hg debug-rev-list [options] revs"), } def reposetup(ui, repo):