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'!
|
2019-06-10 19:22:01 +03:00
|
|
|
(if 1 is a remote bookmark or commit, try to 'hg pull' it first)
|
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 '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'!
|
2019-06-10 19:22:01 +03:00
|
|
|
(if two is a remote bookmark or commit, try to 'hg pull' it first)
|
2016-02-12 14:07:11 +03:00
|
|
|
[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
|
2019-07-20 11:01:33 +03:00
|
|
|
-U --unified VALUE number of lines of diff context to show (default: 3)
|
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
|
2019-07-20 11:01:33 +03:00
|
|
|
-U --unified VALUE number of lines of diff context to show (default: 3)
|
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: replace 'ascii' with 'utf-8' automatically
Summary:
`ascii` was used as the default / fallback, which is not a user-friendly choice.
Nowadays utf-8 dominates:
- Rust stdlib is utf-8.
- Ruby since 1.9 is utf-8 by default.
- Python 3 is unicode by default.
- Windows 10 adds utf-8 code page.
Given the fact that:
- Our CI sets HGENCODING to utf-8
- Nuclide passes `--encoding=utf-8` to every command.
- Some people have messed up with `LC_*` and complained about hg crashes.
- utf-8 is a super set of ascii, nobody complains that they want `ascii`
encoding and the `utf-8` encoding messed their setup up.
Let's just use `utf-8` as the default encoding. More aggressively, if someone
sets `ascii` as the encoding, it's almost always a mistake. Auto-correct that
to `utf-8` too.
This should also make future integration with Rust easier (where it's enforced
utf-8 and does not have an option to change the encoding). In the future we
might just drop the flexibility of choosing customized encoding, so this diff
autofixes `ascii` to `utf-8`, instead of allowing `ascii` to be set. We cannot
enforce `utf-8` yet, because of Windows.
Here is our encoding strategy vs the upstream's:
| item | upstream | | ours | ours |
| | current | ideal | current | ideal |
| CLI argv | bytes | bytes | utf-8 [1] | utf-8 |
| path | bytes | auto [3] | migrating [2] | utf-8 |
| commit message | utf-8 | utf-8 | utf-8 | utf-8 |
| bookmark name | utf-8 | utf-8 | utf-8 | utf-8 |
| file content | bytes | bytes | bytes | bytes |
[1]: Argv was accidentally enforced utf-8 for command-line arguments by a Rust
wrapper. But it simplified a lot of things and is kind of ok: everything that
can be passed as CLI arguments are utf-8: -M commit message, -b bookmark, paths,
etc. There is no "file content" passed via CLI arguments.
[2]: Path is controversial, because it's possible for systems to have non-utf8
paths. The upstream behavior is incorrect if a repo gets shared among different
encoding systems (ex. both Linux and Windows). We have to know the encoding of
paths to be able to convert them suitable for the local system. One way is to
enforce UTF-8 for paths. The other is to keep encoding information stored with
individual paths (like Ruby strings). The UTF-8 approach is much simpler with
the tradeoff that non-utf-8 paths become unsupported, which seems to be a
reasonable trade-off.
[3]: See https://www.mercurial-scm.org/wiki/WindowsUTF8Plan.
Reviewed By: singhsrb
Differential Revision: D17098991
fbshipit-source-id: c0ff1e586a887233bd43cdb854fb3538aa9b70c2
2019-09-13 01:05:08 +03:00
|
|
|
--encoding ENCODE set the charset encoding (default: utf-8)
|
2018-03-20 02:20:55 +03:00
|
|
|
--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)
|