Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
We assume that log basically works (it has its own tests). This just covers uses
|
|
|
|
of show that might break even if log works.
|
|
|
|
|
|
|
|
Show on empty repository: checking consistency
|
|
|
|
|
|
|
|
$ hg init empty
|
|
|
|
$ cd empty
|
|
|
|
$ hg show
|
|
|
|
changeset: -1:000000000000
|
|
|
|
tag: tip
|
|
|
|
user:
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-01 13:12:01 +03:00
|
|
|
Add log alias to and make sure show still works
|
|
|
|
$ hg show --config alias.log=log
|
|
|
|
changeset: -1:000000000000
|
|
|
|
tag: tip
|
|
|
|
user:
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
|
|
|
|
|
|
|
|
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
$ hg show 1
|
|
|
|
abort: unknown revision '1'!
|
|
|
|
[255]
|
|
|
|
$ hg show 'branch(name)'
|
2019-02-23 07:58:37 +03:00
|
|
|
abort: unknown revision branch(name)
|
|
|
|
(if branch(name) is a file, try `hg show . branch(name)`)
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
[255]
|
|
|
|
$ hg show null -q
|
|
|
|
changeset: -1:000000000000
|
|
|
|
tag: tip
|
|
|
|
user:
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
|
|
|
|
|
2016-02-12 14:07:11 +03:00
|
|
|
Check various git-like options:
|
|
|
|
|
|
|
|
$ hg init gitlike
|
|
|
|
$ echo one > one
|
|
|
|
$ echo two > two
|
|
|
|
$ hg commit -qAm twofiles
|
|
|
|
$ hg show --template status
|
|
|
|
changeset: 0:bf7b98b60f6f
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
description:
|
|
|
|
twofiles
|
|
|
|
|
|
|
|
files:
|
|
|
|
A one
|
|
|
|
A two
|
|
|
|
|
|
|
|
diff -r 000000000000 -r bf7b98b60f6f one
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/one Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,1 @@
|
|
|
|
+one
|
|
|
|
diff -r 000000000000 -r bf7b98b60f6f two
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/two Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,1 @@
|
|
|
|
+two
|
|
|
|
|
|
|
|
|
|
|
|
Check that the command parser always treats the first argument as a revision:
|
|
|
|
|
|
|
|
$ hg show two
|
|
|
|
abort: unknown revision 'two'!
|
|
|
|
[255]
|
|
|
|
$ hg show . two
|
|
|
|
changeset: 0:bf7b98b60f6f
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: one two
|
|
|
|
description:
|
|
|
|
twofiles
|
|
|
|
|
|
|
|
|
|
|
|
diff -r 000000000000 -r bf7b98b60f6f two
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/two Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,1 @@
|
|
|
|
+two
|
|
|
|
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
|
|
|
Check --stat
|
|
|
|
|
|
|
|
$ hg init stat
|
|
|
|
$ cd stat
|
|
|
|
$ echo show > x
|
|
|
|
$ hg commit -qAm x
|
|
|
|
$ hg show --stat
|
|
|
|
changeset: 0:852a8d467a01
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: x
|
|
|
|
description:
|
|
|
|
x
|
|
|
|
|
|
|
|
|
|
|
|
x | 1 +
|
|
|
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ echo more >> x
|
|
|
|
$ hg commit -qAm longer
|
|
|
|
$ hg show --stat
|
|
|
|
changeset: 1:b73358b94785
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: x
|
|
|
|
description:
|
|
|
|
longer
|
|
|
|
|
|
|
|
|
|
|
|
x | 1 +
|
|
|
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ echo remove > x
|
|
|
|
$ hg commit -qAm remove
|
|
|
|
$ hg show --stat
|
|
|
|
changeset: 2:3d74ea61c11c
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: x
|
|
|
|
description:
|
|
|
|
remove
|
|
|
|
|
|
|
|
|
|
|
|
x | 3 +--
|
|
|
|
1 files changed, 1 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ hg show --stat 0
|
|
|
|
changeset: 0:852a8d467a01
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: x
|
|
|
|
description:
|
|
|
|
x
|
|
|
|
|
|
|
|
|
|
|
|
x | 1 +
|
|
|
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
|
|
|
|
2017-05-15 15:59:55 +03:00
|
|
|
Check --unified and -U
|
|
|
|
|
|
|
|
$ hg init diff
|
|
|
|
$ cd diff
|
|
|
|
$ cat >file <<EOF
|
|
|
|
> line1
|
|
|
|
> line2
|
|
|
|
> line3
|
|
|
|
> line4
|
|
|
|
> line5
|
|
|
|
> EOF
|
|
|
|
$ hg commit -qAm file
|
|
|
|
$ cat >>file <<EOF
|
|
|
|
> line6
|
|
|
|
> line7
|
|
|
|
> line8
|
|
|
|
> line9
|
|
|
|
> line10
|
|
|
|
> EOF
|
|
|
|
$ hg commit -qm file
|
|
|
|
$ hg show --unified=1
|
|
|
|
changeset: 1:8e33115c1596
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
diff -r fd78c1ae39e0 -r 8e33115c1596 file
|
|
|
|
--- a/file Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/file Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -5,1 +5,6 @@
|
|
|
|
line5
|
|
|
|
+line6
|
|
|
|
+line7
|
|
|
|
+line8
|
|
|
|
+line9
|
|
|
|
+line10
|
|
|
|
|
|
|
|
$ hg show --unified=2
|
|
|
|
changeset: 1:8e33115c1596
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
diff -r fd78c1ae39e0 -r 8e33115c1596 file
|
|
|
|
--- a/file Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/file Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -4,2 +4,7 @@
|
|
|
|
line4
|
|
|
|
line5
|
|
|
|
+line6
|
|
|
|
+line7
|
|
|
|
+line8
|
|
|
|
+line9
|
|
|
|
+line10
|
|
|
|
|
|
|
|
|
|
|
|
Check behavior with nonsensical integers.
|
|
|
|
$ hg show --unified=-7
|
|
|
|
changeset: 1:8e33115c1596
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
diff -r fd78c1ae39e0 -r 8e33115c1596 file
|
|
|
|
--- a/file Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/file Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -13,-14 +13,-9 @@
|
|
|
|
+line6
|
|
|
|
+line7
|
|
|
|
+line8
|
|
|
|
+line9
|
|
|
|
+line10
|
|
|
|
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-23 23:08:34 +03:00
|
|
|
Check whitespace handling options
|
|
|
|
$ hg init whitespace
|
|
|
|
$ cd whitespace
|
|
|
|
$ echo "some text" > file
|
|
|
|
$ hg commit -qAm file
|
|
|
|
$ echo "some text " > file
|
|
|
|
$ hg commit -qAm file
|
|
|
|
$ hg show
|
|
|
|
changeset: 1:6dbf2c12e2e2
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
diff -r 5b445d2a372e -r 6dbf2c12e2e2 file
|
|
|
|
--- a/file Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/file Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -1,1 +1,1 @@
|
|
|
|
-some text
|
|
|
|
+some text
|
|
|
|
|
|
|
|
$ hg show -b
|
|
|
|
changeset: 1:6dbf2c12e2e2
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ echo "some text" > file
|
|
|
|
$ hg commit -qAm file
|
|
|
|
$ hg show -Z
|
|
|
|
changeset: 2:600038806867
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ echo "some text " > file
|
|
|
|
$ hg commit -qAm file
|
|
|
|
$ hg show -Z
|
|
|
|
changeset: 3:747594f0817c
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ printf "some\n\ntext" > file
|
|
|
|
$ hg commit -qAm file
|
|
|
|
$ printf "some\ntext" > file
|
|
|
|
$ hg commit -qAm file
|
|
|
|
$ hg show -B
|
|
|
|
changeset: 5:10f3fc1d00d6
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
Check --git and -g
|
|
|
|
|
|
|
|
$ hg init git
|
|
|
|
$ cd git
|
|
|
|
$ echo git > file
|
|
|
|
$ hg commit -qAm file
|
|
|
|
$ hg show --git
|
|
|
|
changeset: 0:2a575d662478
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/file b/file
|
|
|
|
new file mode 100644
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/file
|
|
|
|
@@ -0,0 +1,1 @@
|
|
|
|
+git
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ echo more >> file
|
|
|
|
$ hg commit -qAm file
|
|
|
|
$ hg show -g
|
|
|
|
changeset: 1:a23f7b259024
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/file b/file
|
|
|
|
--- a/file
|
|
|
|
+++ b/file
|
|
|
|
@@ -1,1 +1,2 @@
|
|
|
|
git
|
|
|
|
+more
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ hg show -g 0
|
|
|
|
changeset: 0:2a575d662478
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/file b/file
|
|
|
|
new file mode 100644
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/file
|
|
|
|
@@ -0,0 +1,1 @@
|
|
|
|
+git
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-02-26 16:37:10 +03:00
|
|
|
Check nodates
|
|
|
|
$ hg show --nodates
|
|
|
|
changeset: 1:a23f7b259024
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
diff -r 2a575d662478 -r a23f7b259024 file
|
|
|
|
--- a/file
|
|
|
|
+++ b/file
|
|
|
|
@@ -1,1 +1,2 @@
|
|
|
|
git
|
|
|
|
+more
|
|
|
|
|
|
|
|
|
|
|
|
Check noprefix
|
|
|
|
$ hg show --noprefix
|
|
|
|
changeset: 1:a23f7b259024
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
files: file
|
|
|
|
description:
|
|
|
|
file
|
|
|
|
|
|
|
|
|
|
|
|
diff -r 2a575d662478 -r a23f7b259024 file
|
|
|
|
--- file Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ file Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -1,1 +1,2 @@
|
|
|
|
git
|
|
|
|
+more
|
|
|
|
|
|
|
|
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
Check hg show '' fails to parse the revision
|
|
|
|
|
|
|
|
$ hg show ''
|
|
|
|
hg: parse error: empty query
|
|
|
|
[255]
|
|
|
|
|
|
|
|
Confirm that --help works (it didn't when we used an alias)
|
|
|
|
|
|
|
|
$ hg show --help
|
2016-02-12 14:07:11 +03:00
|
|
|
hg show [OPTION]... [REV [FILE]...]
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
show commit in detail
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
2018-11-10 00:11:58 +03:00
|
|
|
Show the commit message and contents for the specified commit. If no
|
|
|
|
commit is specified, shows the current commit.
|
|
|
|
|
2016-02-12 14:07:11 +03:00
|
|
|
This behaves similarly to 'hg log -vp -r REV [OPTION]... [FILE]...', or if
|
2016-04-04 22:48:01 +03:00
|
|
|
called without a REV, 'hg log -vp -r . [OPTION]...' Use 'hg log' for more
|
2018-11-10 00:11:58 +03:00
|
|
|
powerful operations than supported by hg show.
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Options ([+] can be repeated):
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
2018-02-26 16:37:10 +03:00
|
|
|
--nodates omit dates from diff headers (but keeps it in commit
|
|
|
|
header)
|
|
|
|
--noprefix omit a/ and b/ prefixes from filenames
|
2018-10-12 16:57:12 +03:00
|
|
|
--stat output diffstat-style summary of changes
|
|
|
|
-g --git use git extended diff format
|
2017-05-15 15:59:55 +03:00
|
|
|
-U --unified VALUE number of lines of diff context to show (default:
|
|
|
|
<type 'int'>)
|
2018-01-23 23:08:34 +03:00
|
|
|
-w --ignore-all-space ignore white space when comparing lines
|
|
|
|
-b --ignore-space-change ignore changes in the amount of white space
|
|
|
|
-B --ignore-blank-lines ignore changes whose lines are all blank
|
|
|
|
-Z --ignore-space-at-eol ignore changes in whitespace at EOL
|
2018-10-12 16:57:12 +03:00
|
|
|
-T --template TEMPLATE display with template
|
|
|
|
-I --include PATTERN [+] include names matching the given patterns
|
|
|
|
-X --exclude PATTERN [+] exclude names matching the given patterns
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
|
|
|
$ hg show --help --verbose
|
2016-02-12 14:07:11 +03:00
|
|
|
hg show [OPTION]... [REV [FILE]...]
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
show commit in detail
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
2018-11-10 00:11:58 +03:00
|
|
|
Show the commit message and contents for the specified commit. If no
|
|
|
|
commit is specified, shows the current commit.
|
|
|
|
|
2016-02-12 14:07:11 +03:00
|
|
|
This behaves similarly to 'hg log -vp -r REV [OPTION]... [FILE]...', or if
|
2016-04-04 22:48:01 +03:00
|
|
|
called without a REV, 'hg log -vp -r . [OPTION]...' Use 'hg log' for more
|
2018-11-10 00:11:58 +03:00
|
|
|
powerful operations than supported by hg show.
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Options ([+] can be repeated):
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
2018-02-26 16:37:10 +03:00
|
|
|
--nodates omit dates from diff headers (but keeps it in commit
|
|
|
|
header)
|
|
|
|
--noprefix omit a/ and b/ prefixes from filenames
|
2018-10-12 16:57:12 +03:00
|
|
|
--stat output diffstat-style summary of changes
|
|
|
|
-g --git use git extended diff format
|
2017-05-15 15:59:55 +03:00
|
|
|
-U --unified VALUE number of lines of diff context to show (default:
|
|
|
|
<type 'int'>)
|
2018-01-23 23:08:34 +03:00
|
|
|
-w --ignore-all-space ignore white space when comparing lines
|
|
|
|
-b --ignore-space-change ignore changes in the amount of white space
|
|
|
|
-B --ignore-blank-lines ignore changes whose lines are all blank
|
|
|
|
-Z --ignore-space-at-eol ignore changes in whitespace at EOL
|
2018-10-12 16:57:12 +03:00
|
|
|
--style STYLE display using template map file (DEPRECATED)
|
|
|
|
-T --template TEMPLATE display with template
|
|
|
|
-I --include PATTERN [+] include names matching the given patterns
|
|
|
|
-X --exclude PATTERN [+] exclude names matching the given patterns
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Global options ([+] can be repeated):
|
Make 'hg show' a native command
Summary:
There are a few ways in which the 'hg show' alias doesn't work for users:
1) if your argument to 'hg show' isn't in exactly the right form, you get confusing messages (e.g. if you run 'hg show --help').
2) It's slow compared to 'git show', and needs speeding up. There's some low-hanging fruit identified by bryano, and having the command as a native command makes it easier to go there.
As a first step towards fixing this, reimplement the existing alias as a Python extension, aiming for minimum behaviour changes. We can inline the implementation of 'hg log' when we need to.
Test Plan:
Run the new automatic test test-show.t:
: /data/users/simonfar/fb-hgext (hg) [nativeshow]
: simonfar@devvm148 tests $ ../../hg/tests/run-tests.py -l test-show.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Note that this means that review needs to cover the automatic test, too, in case I've missed anything important
Reviewers: #sourcecontrol, lcharignon, ttung, rmcelroy
Reviewed By: lcharignon, rmcelroy
Subscribers: rmcelroy, lcharignon, #sourcecontrol
Differential Revision: https://phabricator.fb.com/D2820421
Tasks: 9323445, 9599994
Signature: t1:2820421:1452541611:02efa59739f690b30053d93e0d47adf0aef8dbf4
2016-01-12 22:20:28 +03:00
|
|
|
|
2018-03-20 02:20:55 +03:00
|
|
|
-R --repository REPO repository root directory or name of overlay bundle
|
2017-03-01 23:49:53 +03:00
|
|
|
* (glob)
|
2018-03-20 02:20:55 +03:00
|
|
|
--cwd DIR change working directory
|
|
|
|
-y --noninteractive do not prompt, automatically pick the first choice
|
|
|
|
for all prompts
|
|
|
|
-q --quiet suppress output
|
|
|
|
-v --verbose enable additional output
|
|
|
|
--color TYPE when to colorize (boolean, always, auto, never, or
|
|
|
|
debug)
|
|
|
|
--config CONFIG [+] set/override config option (use
|
|
|
|
'section.name=value')
|
|
|
|
--configfile FILE [+] enables the given config file
|
|
|
|
--debug enable debugging output
|
|
|
|
--debugger start debugger
|
|
|
|
--encoding ENCODE set the charset encoding (default: ascii)
|
|
|
|
--encodingmode MODE set the charset encoding mode (default: strict)
|
|
|
|
--traceback always print a traceback on exception
|
|
|
|
--time time how long the command takes
|
|
|
|
--profile print command execution profile
|
|
|
|
--version output version information and exit
|
|
|
|
-h --help display help and exit
|
|
|
|
--hidden consider hidden changesets
|
|
|
|
--pager TYPE when to paginate (boolean, always, auto, or never)
|
|
|
|
(default: auto)
|