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
|
|
|
$ cat >> $HGRCPATH << EOF
|
|
|
|
> [extensions]
|
2017-06-17 04:31:25 +03:00
|
|
|
> show=$TESTDIR/../hgext3rd/fbshow.py
|
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
|
|
|
> EOF
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ hg show 1
|
|
|
|
abort: unknown revision '1'!
|
|
|
|
[255]
|
|
|
|
$ hg show 'branch(name)'
|
|
|
|
abort: unknown revision 'name'!
|
|
|
|
[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(-)
|
|
|
|
|
|
|
|
diff -r 000000000000 -r 852a8d467a01 x
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,1 @@
|
|
|
|
+show
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ 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(-)
|
|
|
|
|
|
|
|
diff -r 852a8d467a01 -r b73358b94785 x
|
|
|
|
--- a/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -1,1 +1,2 @@
|
|
|
|
show
|
|
|
|
+more
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ 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(-)
|
|
|
|
|
|
|
|
diff -r b73358b94785 -r 3d74ea61c11c x
|
|
|
|
--- a/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -1,2 +1,1 @@
|
|
|
|
-show
|
|
|
|
-more
|
|
|
|
+remove
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ 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(-)
|
|
|
|
|
|
|
|
diff -r 000000000000 -r 852a8d467a01 x
|
|
|
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
+++ b/x Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
@@ -0,0 +1,1 @@
|
|
|
|
+show
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
2016-07-08 15:15:42 +03:00
|
|
|
show revision 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
|
|
|
|
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
|
2016-02-12 14:07:11 +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
|
|
|
|
2016-01-21 00:40:15 +03:00
|
|
|
See 'hg help templates' for more about pre-packaged styles and specifying
|
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
|
|
|
custom templates.
|
|
|
|
|
2016-09-22 17:44:34 +03:00
|
|
|
(use 'hg help -e show' to show help for the show extension)
|
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
|
|
|
|
|
|
|
options ([+] can be repeated):
|
|
|
|
|
2016-10-21 18:58:52 +03:00
|
|
|
-g --git use git extended diff format
|
|
|
|
--stat output diffstat-style summary of changes
|
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
|
|
|
-T --template TEMPLATE display with template
|
|
|
|
-I --include PATTERN [+] include names matching the given patterns
|
|
|
|
-X --exclude PATTERN [+] exclude names matching the given patterns
|
2017-05-15 15:59:55 +03:00
|
|
|
-U --unified VALUE number of lines of diff context to show (default:
|
|
|
|
<type 'int'>)
|
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
|
|
|
|
2016-07-08 15:15:42 +03:00
|
|
|
show revision 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
|
|
|
|
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
|
2016-02-12 14:07:11 +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
|
|
|
|
2016-01-21 00:40:15 +03:00
|
|
|
See 'hg help templates' for more about pre-packaged styles and specifying
|
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
|
|
|
custom templates.
|
|
|
|
|
2016-09-22 17:44:34 +03:00
|
|
|
(use 'hg help -e show' to show help for the show extension)
|
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
|
|
|
|
|
|
|
options ([+] can be repeated):
|
|
|
|
|
2016-10-21 18:58:52 +03:00
|
|
|
-g --git use git extended diff format
|
|
|
|
--stat output diffstat-style summary of changes
|
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
|
|
|
--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
|
2017-05-15 15:59:55 +03:00
|
|
|
-U --unified VALUE number of lines of diff context to show (default:
|
|
|
|
<type 'int'>)
|
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
|
|
|
|
|
|
|
global options ([+] can be repeated):
|
|
|
|
|
|
|
|
-R --repository REPO repository root directory or name of overlay bundle
|
|
|
|
file
|
|
|
|
--cwd DIR change working directory
|
|
|
|
-y --noninteractive do not prompt, automatically pick the first choice for
|
|
|
|
all prompts
|
2016-10-21 18:58:52 +03:00
|
|
|
-q --quiet suppress output
|
|
|
|
-v --verbose enable additional output
|
2017-03-01 23:49:53 +03:00
|
|
|
--color TYPE when to colorize * (glob)
|
|
|
|
* (glob)
|
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
|
|
|
--config CONFIG [+] set/override config option (use 'section.name=value')
|
2016-10-21 18:58:52 +03:00
|
|
|
--debug enable debugging output
|
|
|
|
--debugger start debugger
|
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
|
|
|
--encoding ENCODE set the charset encoding (default: ascii)
|
|
|
|
--encodingmode MODE set the charset encoding mode (default: strict)
|
2016-10-21 18:58:52 +03:00
|
|
|
--traceback always print a traceback on exception
|
|
|
|
--time time how long the command takes
|
|
|
|
--profile print command execution profile
|
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
|
|
|
--version output version information and exit
|
|
|
|
-h --help display help and exit
|
2016-10-21 18:58:52 +03:00
|
|
|
--hidden consider hidden changesets
|
2017-02-21 17:47:12 +03:00
|
|
|
--pager TYPE when to paginate (boolean, always, auto, or never)
|
|
|
|
(default: auto)
|