Mercurial > hg
changeset 35721:f50067fbeead
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
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 14 Jan 2018 11:19:45 -0800 |
parents | b3cf58487731 |
children | f18ba40d792f |
files | hgext/githelp.py tests/test-githelp.t |
diffstat | 2 files changed, 19 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- 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