githelp: don't reference 3rd party commands for `git show`
`hg show` is a Facebook-ism. Reference functionality in core.
The logic here isn't terrific. But it is better than nothing.
Differential Revision: https://phab.mercurial-scm.org/D1729
--- a/hgext/githelp.py Mon Dec 18 21:09:08 2017 -0800
+++ b/hgext/githelp.py Sun Jan 14 11:19:45 2018 -0800
@@ -876,23 +876,27 @@
]
args, opts = parseoptions(ui, cmdoptions, args)
- cmd = Command('show')
if opts.get('name_status'):
if opts.get('pretty') == 'format:':
- cmd = Command('stat')
- cmd['--change'] = 'tip'
+ cmd = Command('status')
+ cmd['--change'] = '.'
else:
cmd = Command('log')
cmd.append('--style status')
- cmd.append('-r tip')
+ cmd.append('-r .')
elif len(args) > 0:
if ispath(repo, args[0]):
- cmd.append('.')
+ cmd = Command('cat')
+ else:
+ cmd = Command('export')
cmd.extend(args)
if opts.get('unified'):
cmd.append('--config diff.unified=%d' % (opts['unified'],))
elif opts.get('unified'):
+ cmd = Command('export')
cmd.append('--config diff.unified=%d' % (opts['unified'],))
+ else:
+ cmd = Command('export')
ui.status((str(cmd)), "\n")
--- a/tests/test-githelp.t Mon Dec 18 21:09:08 2017 -0800
+++ b/tests/test-githelp.t Sun Jan 14 11:19:45 2018 -0800
@@ -177,39 +177,39 @@
githelp for git show --name-status
$ hg githelp -- git show --name-status
- hg log --style status -r tip
+ hg log --style status -r .
githelp for git show --pretty=format: --name-status
$ hg githelp -- git show --pretty=format: --name-status
- hg stat --change tip
+ hg status --change .
githelp for show with no arguments
$ hg githelp -- show
- hg show
+ hg export
githelp for show with a path
$ hg githelp -- show test_file
- hg show . test_file
+ hg cat test_file
githelp for show with not a path:
$ hg githelp -- show rev
- hg show rev
+ hg export rev
githelp for show with many arguments
$ hg githelp -- show argone argtwo
- hg show argone argtwo
+ hg export argone argtwo
$ hg githelp -- show test_file argone argtwo
- hg show . test_file argone argtwo
+ hg cat test_file argone argtwo
githelp for show with --unified options
$ hg githelp -- show --unified=10
- hg show --config diff.unified=10
+ hg export --config diff.unified=10
$ hg githelp -- show -U100
- hg show --config diff.unified=100
+ hg export --config diff.unified=100
githelp for show with a path and --unified
$ hg githelp -- show -U20 test_file
- hg show . test_file --config diff.unified=20
+ hg cat test_file --config diff.unified=20
githelp for stash drop without name
$ hg githelp -- git stash drop