2019-05-28 13:12:27 +03:00
|
|
|
$ setconfig extensions.treemanifest=!
|
2011-02-18 01:15:32 +03:00
|
|
|
$ HGFOO=BAR; export HGFOO
|
2019-08-20 05:24:40 +03:00
|
|
|
$ cat >> $HGRCPATH <<'EOF'
|
2010-08-12 18:46:56 +04:00
|
|
|
> [alias]
|
2011-10-12 02:20:03 +04:00
|
|
|
> # should clobber ci but not commit (issue2993)
|
|
|
|
> ci = version
|
2010-08-12 18:46:56 +04:00
|
|
|
> myinit = init
|
2014-05-17 09:43:06 +04:00
|
|
|
> mycommit = commit
|
2012-05-05 14:21:22 +04:00
|
|
|
> optionalrepo = showconfig alias.myinit
|
2010-08-12 18:46:56 +04:00
|
|
|
> cleanstatus = status -c
|
|
|
|
> unknown = bargle
|
|
|
|
> ambiguous = s
|
|
|
|
> recursive = recursive
|
2019-02-13 08:39:22 +03:00
|
|
|
> disabled = purge
|
2010-08-12 18:46:56 +04:00
|
|
|
> nodefinition =
|
2014-05-17 08:06:16 +04:00
|
|
|
> noclosingquotation = '
|
2010-08-12 18:46:56 +04:00
|
|
|
> no--cwd = status --cwd elsewhere
|
|
|
|
> no-R = status -R elsewhere
|
|
|
|
> no--repo = status --repo elsewhere
|
|
|
|
> no--repository = status --repository elsewhere
|
2013-02-13 01:15:31 +04:00
|
|
|
> no--config = status --config a.config=1
|
2010-08-12 18:46:56 +04:00
|
|
|
> mylog = log
|
|
|
|
> lognull = log -r null
|
|
|
|
> shortlog = log --template '{rev} {node|short} | {date|isodate}\n'
|
2019-08-20 05:24:40 +03:00
|
|
|
> positional = log --template '{$2} {$1} | {date|isodate}\n'
|
2010-08-12 18:46:56 +04:00
|
|
|
> dln = lognull --debug
|
|
|
|
> nousage = rollback
|
2019-08-20 05:24:40 +03:00
|
|
|
> put = export -r 0 -o "$FOO/%R.diff"
|
|
|
|
> blank = !echo
|
|
|
|
> self = !echo $0
|
|
|
|
> echoall = !echo "$@"
|
|
|
|
> echo1 = !echo $1
|
|
|
|
> echo2 = !echo $2
|
|
|
|
> echo13 = !echo $1 $3
|
|
|
|
> echotokens = !printf "%s\n" "$@"
|
|
|
|
> count = !hg log -r "$@" --template=. | wc -c | sed -e 's/ //g'
|
|
|
|
> mcount = !hg log $@ --template=. | wc -c | sed -e 's/ //g'
|
2010-08-12 18:46:56 +04:00
|
|
|
> rt = root
|
2010-11-05 22:54:32 +03:00
|
|
|
> idalias = id
|
|
|
|
> idaliaslong = id
|
|
|
|
> idaliasshell = !echo test
|
|
|
|
> parentsshell1 = !echo one
|
|
|
|
> parentsshell2 = !echo two
|
2019-08-20 05:24:40 +03:00
|
|
|
> escaped1 = !echo 'test$$test'
|
|
|
|
> escaped2 = !echo "HGFOO is $$HGFOO"
|
|
|
|
> escaped3 = !echo $1 is $$$1
|
|
|
|
> escaped4 = !echo \$$0 \$$@
|
2014-05-17 09:43:06 +04:00
|
|
|
> exit1 = !sh -c 'exit 1'
|
2018-10-17 22:20:08 +03:00
|
|
|
> documented = id
|
|
|
|
> documented:doc = an alias for the id command
|
2010-08-12 18:46:56 +04:00
|
|
|
> [defaults]
|
|
|
|
> mylog = -q
|
|
|
|
> lognull = -q
|
|
|
|
> log = -v
|
|
|
|
> EOF
|
|
|
|
|
|
|
|
|
|
|
|
basic
|
|
|
|
|
|
|
|
$ hg myinit alias
|
|
|
|
|
|
|
|
|
|
|
|
unknown
|
|
|
|
|
|
|
|
$ hg unknown
|
2019-07-20 11:01:33 +03:00
|
|
|
hg: unknown command 'bargle'
|
|
|
|
Mercurial Distributed SCM
|
|
|
|
|
|
|
|
hg COMMAND [OPTIONS]
|
|
|
|
|
|
|
|
These are some common Mercurial commands. Use 'hg help commands' to list all
|
|
|
|
commands, and 'hg help COMMAND' to get help on a specific command.
|
|
|
|
|
|
|
|
Get the latest commits from the server:
|
|
|
|
|
|
|
|
pull pull changes from the specified source
|
|
|
|
|
|
|
|
View commits:
|
|
|
|
|
|
|
|
show show commit in detail
|
|
|
|
diff show differences between commits
|
|
|
|
|
|
|
|
Check out a commit:
|
|
|
|
|
|
|
|
checkout check out a specific commit
|
|
|
|
|
|
|
|
Work with your checkout:
|
|
|
|
|
|
|
|
status list files with pending changes
|
|
|
|
add start tracking the specified files
|
|
|
|
remove delete the specified tracked files
|
|
|
|
forget stop tracking the specified files
|
|
|
|
revert change the specified files to match a commit
|
|
|
|
|
|
|
|
Commit changes and modify commits:
|
|
|
|
|
|
|
|
commit save all pending changes or specified files in a new commit
|
|
|
|
|
|
|
|
Rearrange commits:
|
|
|
|
|
|
|
|
graft copy commits from a different location
|
|
|
|
|
|
|
|
Undo changes:
|
|
|
|
|
|
|
|
uncommit uncommit part or all of the current commit
|
|
|
|
|
|
|
|
Other commands:
|
|
|
|
|
|
|
|
config show config settings
|
|
|
|
grep search for a pattern in tracked files in the working directory
|
|
|
|
|
|
|
|
Additional help topics:
|
|
|
|
|
|
|
|
filesets specifying files by their characteristics
|
|
|
|
glossary common terms
|
|
|
|
patterns specifying files by file name pattern
|
|
|
|
revisions specifying commits
|
|
|
|
templating customizing output with templates
|
2014-05-17 10:14:18 +04:00
|
|
|
[255]
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg help unknown
|
|
|
|
alias 'unknown' resolves to unknown command 'bargle'
|
|
|
|
|
|
|
|
|
|
|
|
ambiguous
|
|
|
|
|
|
|
|
$ hg ambiguous
|
2019-07-20 11:01:33 +03:00
|
|
|
hg: command 's' is ambiguous:
|
2019-07-20 11:01:33 +03:00
|
|
|
self
|
|
|
|
serve
|
|
|
|
shortlog
|
|
|
|
show
|
|
|
|
showconfig
|
|
|
|
status
|
|
|
|
summary
|
2014-05-17 10:14:18 +04:00
|
|
|
[255]
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg help ambiguous
|
|
|
|
alias 'ambiguous' resolves to ambiguous command 's'
|
|
|
|
|
|
|
|
|
|
|
|
recursive
|
|
|
|
|
|
|
|
$ hg recursive
|
2014-08-13 17:22:24 +04:00
|
|
|
abort: alias 'recursive' resolves to unknown command 'recursive'
|
2014-05-17 10:14:18 +04:00
|
|
|
[255]
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg help recursive
|
|
|
|
alias 'recursive' resolves to unknown command 'recursive'
|
|
|
|
|
|
|
|
|
2014-05-17 15:47:31 +04:00
|
|
|
disabled
|
|
|
|
|
|
|
|
$ hg disabled
|
2019-07-20 11:01:33 +03:00
|
|
|
hg: unknown command 'purge'
|
|
|
|
'purge' is provided by the following extension:
|
|
|
|
|
|
|
|
purge command to delete untracked files from the working directory
|
|
|
|
|
|
|
|
(use 'hg help extensions' for information on enabling extensions)
|
2014-05-17 15:47:31 +04:00
|
|
|
[255]
|
|
|
|
$ hg help disabled
|
2019-02-13 08:39:22 +03:00
|
|
|
alias 'disabled' resolves to unknown command 'purge'
|
2014-08-13 14:38:47 +04:00
|
|
|
|
2019-02-13 08:39:22 +03:00
|
|
|
'purge' is provided by the following extension:
|
2014-05-17 15:47:31 +04:00
|
|
|
|
2019-02-13 08:39:22 +03:00
|
|
|
purge command to delete untracked files from the working directory
|
2014-05-17 15:47:31 +04:00
|
|
|
|
2016-09-21 02:47:46 +03:00
|
|
|
(use 'hg help extensions' for information on enabling extensions)
|
2014-05-17 15:47:31 +04:00
|
|
|
|
|
|
|
|
2019-07-20 11:01:33 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
2010-08-12 18:46:56 +04:00
|
|
|
no definition
|
|
|
|
|
|
|
|
$ hg nodef
|
2019-07-30 05:30:30 +03:00
|
|
|
abort: alias definition nodefinition = "" cannot be parsed
|
|
|
|
[255]
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg help nodef
|
|
|
|
no definition for alias 'nodefinition'
|
|
|
|
|
|
|
|
|
2014-05-17 08:06:16 +04:00
|
|
|
no closing quotation
|
|
|
|
|
|
|
|
$ hg noclosing
|
2019-07-30 05:30:30 +03:00
|
|
|
abort: alias definition noclosingquotation = "\'" cannot be parsed
|
2014-05-17 10:14:18 +04:00
|
|
|
[255]
|
2014-05-17 08:06:16 +04:00
|
|
|
$ hg help noclosing
|
|
|
|
error in definition for alias 'noclosingquotation': No closing quotation
|
|
|
|
|
2017-11-23 17:18:56 +03:00
|
|
|
"--" in alias definition should be preserved
|
|
|
|
|
|
|
|
$ hg --config alias.dash='cat --' -R alias dash -r0
|
|
|
|
abort: -r0 not under root '$TESTTMP/alias'
|
|
|
|
(consider using '--cwd alias')
|
|
|
|
[255]
|
2014-05-17 08:06:16 +04:00
|
|
|
|
2010-08-12 18:46:56 +04:00
|
|
|
invalid options
|
|
|
|
|
|
|
|
$ hg no--cwd
|
2019-07-20 11:01:33 +03:00
|
|
|
abort: option --cwd may not be abbreviated!
|
2014-05-17 10:14:18 +04:00
|
|
|
[255]
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg help no--cwd
|
2014-08-13 14:38:47 +04:00
|
|
|
error in definition for alias 'no--cwd': --cwd may only be given on the
|
|
|
|
command line
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg no-R
|
2019-07-20 11:01:33 +03:00
|
|
|
abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
|
2014-05-17 10:14:18 +04:00
|
|
|
[255]
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg help no-R
|
|
|
|
error in definition for alias 'no-R': -R may only be given on the command line
|
|
|
|
$ hg no--repo
|
2019-07-20 11:01:33 +03:00
|
|
|
abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
|
2014-05-17 10:14:18 +04:00
|
|
|
[255]
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg help no--repo
|
2014-08-13 14:38:47 +04:00
|
|
|
error in definition for alias 'no--repo': --repo may only be given on the
|
|
|
|
command line
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg no--repository
|
2019-07-20 11:01:33 +03:00
|
|
|
abort: option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!
|
2014-05-17 10:14:18 +04:00
|
|
|
[255]
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg help no--repository
|
2014-08-13 14:38:47 +04:00
|
|
|
error in definition for alias 'no--repository': --repository may only be given
|
|
|
|
on the command line
|
2013-02-13 01:15:31 +04:00
|
|
|
$ hg no--config
|
2019-07-20 11:01:33 +03:00
|
|
|
abort: option --config may not be abbreviated!
|
2014-05-17 10:14:18 +04:00
|
|
|
[255]
|
2017-11-23 17:18:56 +03:00
|
|
|
$ hg no --config alias.no='--repo elsewhere --cwd elsewhere status'
|
2019-07-20 11:01:33 +03:00
|
|
|
hg: unknown command '--repo'
|
|
|
|
(did you mean no--repo?)
|
2017-11-23 17:18:56 +03:00
|
|
|
[255]
|
|
|
|
$ hg no --config alias.no='--repo elsewhere'
|
2019-07-20 11:01:33 +03:00
|
|
|
hg: unknown command '--repo'
|
|
|
|
(did you mean no--repo?)
|
2017-11-23 17:18:56 +03:00
|
|
|
[255]
|
2010-08-12 18:46:56 +04:00
|
|
|
|
2012-05-05 14:21:22 +04:00
|
|
|
optional repository
|
2010-08-12 18:46:56 +04:00
|
|
|
|
2012-06-21 01:41:21 +04:00
|
|
|
#if no-outer-repo
|
2012-05-05 14:21:22 +04:00
|
|
|
$ hg optionalrepo
|
|
|
|
init
|
2012-06-21 01:41:21 +04:00
|
|
|
#endif
|
2012-05-05 14:21:22 +04:00
|
|
|
$ cd alias
|
|
|
|
$ cat > .hg/hgrc <<EOF
|
|
|
|
> [alias]
|
|
|
|
> myinit = init -q
|
|
|
|
> EOF
|
|
|
|
$ hg optionalrepo
|
|
|
|
init -q
|
2010-08-12 18:46:56 +04:00
|
|
|
|
|
|
|
no usage
|
|
|
|
|
|
|
|
$ hg nousage
|
|
|
|
no rollback information available
|
2014-05-17 09:43:06 +04:00
|
|
|
[1]
|
2010-08-12 18:46:56 +04:00
|
|
|
|
|
|
|
$ echo foo > foo
|
2011-10-12 02:20:03 +04:00
|
|
|
$ hg commit -Amfoo
|
2010-08-12 18:46:56 +04:00
|
|
|
adding foo
|
|
|
|
|
2016-01-04 15:40:05 +03:00
|
|
|
infer repository
|
|
|
|
|
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
#if no-outer-repo
|
|
|
|
$ hg shortlog alias/foo
|
|
|
|
0 e63c23eaa88a | 1970-01-01 00:00 +0000
|
|
|
|
#endif
|
|
|
|
|
|
|
|
$ cd alias
|
2010-08-12 18:46:56 +04:00
|
|
|
|
|
|
|
with opts
|
|
|
|
|
|
|
|
$ hg cleanst
|
|
|
|
C foo
|
|
|
|
|
|
|
|
|
|
|
|
with opts and whitespace
|
|
|
|
|
|
|
|
$ hg shortlog
|
|
|
|
0 e63c23eaa88a | 1970-01-01 00:00 +0000
|
|
|
|
|
|
|
|
interaction with defaults
|
|
|
|
|
|
|
|
$ hg mylog
|
2019-07-20 11:01:33 +03:00
|
|
|
changeset: 0:e63c23eaa88a
|
|
|
|
tag: tip
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
summary: foo
|
|
|
|
|
2010-08-12 18:46:56 +04:00
|
|
|
$ hg lognull
|
2019-07-20 11:01:33 +03:00
|
|
|
changeset: -1:000000000000
|
|
|
|
user:
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
|
2010-08-12 18:46:56 +04:00
|
|
|
|
|
|
|
|
|
|
|
properly recursive
|
|
|
|
|
|
|
|
$ hg dln
|
|
|
|
changeset: -1:0000000000000000000000000000000000000000
|
2014-10-05 00:28:28 +04:00
|
|
|
phase: public
|
2010-08-12 18:46:56 +04:00
|
|
|
parent: -1:0000000000000000000000000000000000000000
|
|
|
|
parent: -1:0000000000000000000000000000000000000000
|
2019-05-22 18:28:07 +03:00
|
|
|
manifest: 0000000000000000000000000000000000000000
|
2010-08-12 18:46:56 +04:00
|
|
|
user:
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
extra: branch=default
|
|
|
|
|
|
|
|
|
2010-08-19 02:56:44 +04:00
|
|
|
simple shell aliases
|
2010-08-12 18:46:56 +04:00
|
|
|
|
2010-08-19 02:56:44 +04:00
|
|
|
$ hg blank
|
|
|
|
|
2019-07-20 11:01:33 +03:00
|
|
|
|
2010-08-19 02:56:44 +04:00
|
|
|
$ hg blank foo
|
|
|
|
|
2019-07-20 11:01:33 +03:00
|
|
|
|
2010-08-19 02:56:44 +04:00
|
|
|
$ hg self
|
|
|
|
self
|
2012-06-16 23:57:42 +04:00
|
|
|
$ hg echoall
|
2010-08-25 02:25:33 +04:00
|
|
|
|
2019-07-20 11:01:33 +03:00
|
|
|
|
2012-06-16 23:57:42 +04:00
|
|
|
$ hg echoall foo
|
2010-08-12 18:46:56 +04:00
|
|
|
foo
|
2012-06-16 23:57:42 +04:00
|
|
|
$ hg echoall 'test $2' foo
|
2010-08-19 02:56:44 +04:00
|
|
|
test $2 foo
|
2014-08-14 09:37:09 +04:00
|
|
|
$ hg echoall 'test $@' foo '$@'
|
|
|
|
test $@ foo $@
|
|
|
|
$ hg echoall 'test "$@"' foo '"$@"'
|
|
|
|
test "$@" foo "$@"
|
2010-08-19 02:56:44 +04:00
|
|
|
$ hg echo1 foo bar baz
|
|
|
|
foo
|
|
|
|
$ hg echo2 foo bar baz
|
|
|
|
bar
|
|
|
|
$ hg echo13 foo bar baz test
|
|
|
|
foo baz
|
|
|
|
$ hg echo2 foo
|
|
|
|
|
2019-07-20 11:01:33 +03:00
|
|
|
|
2014-08-14 10:21:52 +04:00
|
|
|
$ hg echotokens
|
|
|
|
|
2019-07-20 11:01:33 +03:00
|
|
|
|
2014-08-14 10:21:52 +04:00
|
|
|
$ hg echotokens foo 'bar $1 baz'
|
|
|
|
foo
|
|
|
|
bar $1 baz
|
|
|
|
$ hg echotokens 'test $2' foo
|
|
|
|
test $2
|
|
|
|
foo
|
|
|
|
$ hg echotokens 'test $@' foo '$@'
|
|
|
|
test $@
|
|
|
|
foo
|
|
|
|
$@
|
|
|
|
$ hg echotokens 'test "$@"' foo '"$@"'
|
|
|
|
test "$@"
|
|
|
|
foo
|
|
|
|
"$@"
|
2010-08-19 02:56:44 +04:00
|
|
|
$ echo bar > bar
|
2011-10-12 02:20:03 +04:00
|
|
|
$ hg commit -qA -m bar
|
2010-08-19 02:56:44 +04:00
|
|
|
$ hg count .
|
|
|
|
1
|
|
|
|
$ hg count 'branch(default)'
|
|
|
|
2
|
2010-08-25 02:25:33 +04:00
|
|
|
$ hg mcount -r '"branch(default)"'
|
|
|
|
2
|
|
|
|
|
2018-08-16 20:37:29 +03:00
|
|
|
$ tglog
|
2019-07-20 11:01:33 +03:00
|
|
|
@ 1: c0c7cf58edc5 'bar'
|
2010-10-09 13:16:35 +04:00
|
|
|
|
|
2018-08-16 20:37:29 +03:00
|
|
|
o 0: e63c23eaa88a 'foo'
|
2010-10-09 13:16:35 +04:00
|
|
|
|
2010-08-25 02:25:33 +04:00
|
|
|
|
2010-11-05 22:54:32 +03:00
|
|
|
|
2019-07-20 11:01:33 +03:00
|
|
|
|
2010-11-05 22:54:32 +03:00
|
|
|
shadowing
|
|
|
|
|
|
|
|
$ hg i
|
|
|
|
hg: command 'i' is ambiguous:
|
2019-07-30 18:38:41 +03:00
|
|
|
id or identify
|
2019-07-20 11:01:33 +03:00
|
|
|
idalias
|
|
|
|
idaliaslong
|
|
|
|
idaliasshell
|
|
|
|
import
|
2019-07-30 18:38:41 +03:00
|
|
|
in or incoming
|
2019-07-20 11:01:33 +03:00
|
|
|
init
|
2010-11-05 22:54:32 +03:00
|
|
|
[255]
|
|
|
|
$ hg id
|
2019-07-20 11:01:33 +03:00
|
|
|
c0c7cf58edc5 tip
|
2010-11-05 22:54:32 +03:00
|
|
|
$ hg ida
|
|
|
|
hg: command 'ida' is ambiguous:
|
2019-07-20 11:01:33 +03:00
|
|
|
idalias
|
|
|
|
idaliaslong
|
|
|
|
idaliasshell
|
2010-11-05 22:54:32 +03:00
|
|
|
[255]
|
|
|
|
$ hg idalias
|
2019-07-20 11:01:33 +03:00
|
|
|
c0c7cf58edc5 tip
|
2010-11-05 22:54:32 +03:00
|
|
|
$ hg idaliasl
|
2019-07-20 11:01:33 +03:00
|
|
|
c0c7cf58edc5 tip
|
2010-11-05 22:54:32 +03:00
|
|
|
$ hg idaliass
|
|
|
|
test
|
|
|
|
$ hg parentsshell
|
|
|
|
hg: command 'parentsshell' is ambiguous:
|
2019-07-20 11:01:33 +03:00
|
|
|
parentsshell1
|
|
|
|
parentsshell2
|
2010-11-05 22:54:32 +03:00
|
|
|
[255]
|
|
|
|
$ hg parentsshell1
|
|
|
|
one
|
|
|
|
$ hg parentsshell2
|
|
|
|
two
|
|
|
|
|
|
|
|
|
2010-08-25 02:25:33 +04:00
|
|
|
shell aliases with global options
|
|
|
|
|
|
|
|
$ hg init sub
|
|
|
|
$ cd sub
|
|
|
|
$ hg count 'branch(default)'
|
|
|
|
0
|
|
|
|
$ hg -v count 'branch(default)'
|
|
|
|
0
|
|
|
|
$ hg -R .. count 'branch(default)'
|
|
|
|
0
|
|
|
|
$ hg --cwd .. count 'branch(default)'
|
|
|
|
2
|
2012-06-16 23:57:42 +04:00
|
|
|
$ hg echoall --cwd ..
|
2011-07-16 01:06:53 +04:00
|
|
|
|
2010-08-25 02:25:33 +04:00
|
|
|
|
2019-07-20 11:01:33 +03:00
|
|
|
|
2017-11-23 17:18:56 +03:00
|
|
|
"--" passed to shell alias should be preserved
|
|
|
|
|
|
|
|
$ hg --config alias.printf='!printf "$@"' printf '%s %s %s\n' -- --cwd ..
|
|
|
|
-- --cwd ..
|
2010-08-25 02:25:33 +04:00
|
|
|
|
|
|
|
repo specific shell aliases
|
|
|
|
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [alias]
|
2012-06-16 23:57:42 +04:00
|
|
|
> subalias = !echo sub
|
2010-08-25 02:25:33 +04:00
|
|
|
> EOF
|
|
|
|
$ cat >> ../.hg/hgrc <<EOF
|
|
|
|
> [alias]
|
2012-06-16 23:57:42 +04:00
|
|
|
> mainalias = !echo main
|
2010-08-25 02:25:33 +04:00
|
|
|
> EOF
|
|
|
|
|
|
|
|
|
|
|
|
shell alias defined in current repo
|
|
|
|
|
|
|
|
$ hg subalias
|
|
|
|
sub
|
|
|
|
$ hg --cwd .. subalias > /dev/null
|
|
|
|
hg: unknown command 'subalias'
|
2016-01-05 08:52:44 +03:00
|
|
|
(did you mean idalias?)
|
2010-08-25 02:25:33 +04:00
|
|
|
[255]
|
|
|
|
$ hg -R .. subalias > /dev/null
|
2011-07-18 23:53:52 +04:00
|
|
|
hg: unknown command 'subalias'
|
2016-01-05 08:52:44 +03:00
|
|
|
(did you mean idalias?)
|
2011-07-18 23:53:52 +04:00
|
|
|
[255]
|
2010-08-25 02:25:33 +04:00
|
|
|
|
|
|
|
|
|
|
|
shell alias defined in other repo
|
|
|
|
|
|
|
|
$ hg mainalias > /dev/null
|
|
|
|
hg: unknown command 'mainalias'
|
2016-01-05 08:52:44 +03:00
|
|
|
(did you mean idalias?)
|
2010-08-25 02:25:33 +04:00
|
|
|
[255]
|
|
|
|
$ hg -R .. mainalias
|
|
|
|
main
|
|
|
|
$ hg --cwd .. mainalias
|
|
|
|
main
|
2010-08-19 02:56:44 +04:00
|
|
|
|
2015-02-10 23:59:12 +03:00
|
|
|
typos get useful suggestions
|
|
|
|
$ hg --cwd .. manalias
|
|
|
|
hg: unknown command 'manalias'
|
|
|
|
(did you mean one of idalias, mainalias, manifest?)
|
|
|
|
[255]
|
2010-08-12 18:46:56 +04:00
|
|
|
|
2011-02-18 01:15:32 +03:00
|
|
|
shell aliases with escaped $ chars
|
|
|
|
|
|
|
|
$ hg escaped1
|
|
|
|
test$test
|
|
|
|
$ hg escaped2
|
|
|
|
HGFOO is BAR
|
|
|
|
$ hg escaped3 HGFOO
|
|
|
|
HGFOO is BAR
|
|
|
|
$ hg escaped4 test
|
|
|
|
$0 $@
|
|
|
|
|
2014-01-29 18:47:54 +04:00
|
|
|
abbreviated name, which matches against both shell alias and the
|
|
|
|
command provided extension, should be aborted.
|
|
|
|
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [extensions]
|
2018-12-13 05:51:21 +03:00
|
|
|
> rebase =
|
2014-10-27 18:19:18 +03:00
|
|
|
> EOF
|
|
|
|
#if windows
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
|
|
|
> [alias]
|
|
|
|
> rebate = !echo this is %HG_ARGS%
|
|
|
|
> EOF
|
|
|
|
#else
|
|
|
|
$ cat >> .hg/hgrc <<EOF
|
2014-01-29 18:47:54 +04:00
|
|
|
> [alias]
|
2014-09-09 19:41:44 +04:00
|
|
|
> rebate = !echo this is \$HG_ARGS
|
2014-01-29 18:47:54 +04:00
|
|
|
> EOF
|
2014-10-27 18:19:18 +03:00
|
|
|
#endif
|
2014-01-29 18:47:54 +04:00
|
|
|
$ hg reba
|
|
|
|
hg: command 'reba' is ambiguous:
|
2019-07-20 11:01:33 +03:00
|
|
|
rebase
|
|
|
|
rebate
|
2014-01-29 18:47:54 +04:00
|
|
|
[255]
|
|
|
|
$ hg rebat
|
|
|
|
this is rebate
|
2014-09-09 19:41:44 +04:00
|
|
|
$ hg rebat --foo-bar
|
|
|
|
this is rebate --foo-bar
|
2011-02-18 01:15:32 +03:00
|
|
|
|
2010-08-12 18:46:56 +04:00
|
|
|
invalid arguments
|
|
|
|
|
|
|
|
$ hg rt foo
|
2019-07-20 11:01:33 +03:00
|
|
|
hg root: invalid arguments
|
|
|
|
(use 'hg root -h' to get help)
|
2010-09-17 02:51:32 +04:00
|
|
|
[255]
|
2010-10-17 21:24:37 +04:00
|
|
|
|
|
|
|
invalid global arguments for normal commands, aliases, and shell aliases
|
|
|
|
|
|
|
|
$ hg --invalid root
|
2019-07-20 11:01:33 +03:00
|
|
|
hg: unknown command '--invalid'
|
|
|
|
Mercurial Distributed SCM
|
|
|
|
|
|
|
|
hg COMMAND [OPTIONS]
|
|
|
|
|
|
|
|
These are some common Mercurial commands. Use 'hg help commands' to list all
|
|
|
|
commands, and 'hg help COMMAND' to get help on a specific command.
|
|
|
|
|
|
|
|
Get the latest commits from the server:
|
|
|
|
|
|
|
|
pull pull changes from the specified source
|
|
|
|
|
|
|
|
View commits:
|
|
|
|
|
|
|
|
show show commit in detail
|
|
|
|
diff show differences between commits
|
|
|
|
|
|
|
|
Check out a commit:
|
|
|
|
|
|
|
|
checkout check out a specific commit
|
|
|
|
|
|
|
|
Work with your checkout:
|
|
|
|
|
|
|
|
status list files with pending changes
|
|
|
|
add start tracking the specified files
|
|
|
|
remove delete the specified tracked files
|
|
|
|
forget stop tracking the specified files
|
|
|
|
revert change the specified files to match a commit
|
|
|
|
|
|
|
|
Commit changes and modify commits:
|
|
|
|
|
|
|
|
commit save all pending changes or specified files in a new commit
|
|
|
|
|
|
|
|
Rearrange commits:
|
|
|
|
|
|
|
|
rebase move commits from one location to another
|
|
|
|
graft copy commits from a different location
|
|
|
|
|
|
|
|
Undo changes:
|
|
|
|
|
|
|
|
uncommit uncommit part or all of the current commit
|
|
|
|
|
|
|
|
Other commands:
|
|
|
|
|
|
|
|
config show config settings
|
|
|
|
grep search for a pattern in tracked files in the working directory
|
|
|
|
|
|
|
|
Additional help topics:
|
|
|
|
|
|
|
|
filesets specifying files by their characteristics
|
|
|
|
glossary common terms
|
|
|
|
patterns specifying files by file name pattern
|
|
|
|
revisions specifying commits
|
|
|
|
templating customizing output with templates
|
2010-10-17 21:24:37 +04:00
|
|
|
[255]
|
|
|
|
$ hg --invalid mylog
|
2019-07-20 11:01:33 +03:00
|
|
|
hg: unknown command '--invalid'
|
|
|
|
Mercurial Distributed SCM
|
|
|
|
|
|
|
|
hg COMMAND [OPTIONS]
|
|
|
|
|
|
|
|
These are some common Mercurial commands. Use 'hg help commands' to list all
|
|
|
|
commands, and 'hg help COMMAND' to get help on a specific command.
|
|
|
|
|
|
|
|
Get the latest commits from the server:
|
|
|
|
|
|
|
|
pull pull changes from the specified source
|
|
|
|
|
|
|
|
View commits:
|
|
|
|
|
|
|
|
show show commit in detail
|
|
|
|
diff show differences between commits
|
|
|
|
|
|
|
|
Check out a commit:
|
|
|
|
|
|
|
|
checkout check out a specific commit
|
|
|
|
|
|
|
|
Work with your checkout:
|
|
|
|
|
|
|
|
status list files with pending changes
|
|
|
|
add start tracking the specified files
|
|
|
|
remove delete the specified tracked files
|
|
|
|
forget stop tracking the specified files
|
|
|
|
revert change the specified files to match a commit
|
|
|
|
|
|
|
|
Commit changes and modify commits:
|
|
|
|
|
|
|
|
commit save all pending changes or specified files in a new commit
|
|
|
|
|
|
|
|
Rearrange commits:
|
|
|
|
|
|
|
|
rebase move commits from one location to another
|
|
|
|
graft copy commits from a different location
|
|
|
|
|
|
|
|
Undo changes:
|
|
|
|
|
|
|
|
uncommit uncommit part or all of the current commit
|
|
|
|
|
|
|
|
Other commands:
|
|
|
|
|
|
|
|
config show config settings
|
|
|
|
grep search for a pattern in tracked files in the working directory
|
|
|
|
|
|
|
|
Additional help topics:
|
|
|
|
|
|
|
|
filesets specifying files by their characteristics
|
|
|
|
glossary common terms
|
|
|
|
patterns specifying files by file name pattern
|
|
|
|
revisions specifying commits
|
|
|
|
templating customizing output with templates
|
2010-10-17 21:24:37 +04:00
|
|
|
[255]
|
|
|
|
$ hg --invalid blank
|
2019-07-20 11:01:33 +03:00
|
|
|
hg: unknown command '--invalid'
|
|
|
|
Mercurial Distributed SCM
|
|
|
|
|
|
|
|
hg COMMAND [OPTIONS]
|
|
|
|
|
|
|
|
These are some common Mercurial commands. Use 'hg help commands' to list all
|
|
|
|
commands, and 'hg help COMMAND' to get help on a specific command.
|
|
|
|
|
|
|
|
Get the latest commits from the server:
|
|
|
|
|
|
|
|
pull pull changes from the specified source
|
|
|
|
|
|
|
|
View commits:
|
|
|
|
|
|
|
|
show show commit in detail
|
|
|
|
diff show differences between commits
|
|
|
|
|
|
|
|
Check out a commit:
|
|
|
|
|
|
|
|
checkout check out a specific commit
|
|
|
|
|
|
|
|
Work with your checkout:
|
|
|
|
|
|
|
|
status list files with pending changes
|
|
|
|
add start tracking the specified files
|
|
|
|
remove delete the specified tracked files
|
|
|
|
forget stop tracking the specified files
|
|
|
|
revert change the specified files to match a commit
|
|
|
|
|
|
|
|
Commit changes and modify commits:
|
|
|
|
|
|
|
|
commit save all pending changes or specified files in a new commit
|
|
|
|
|
|
|
|
Rearrange commits:
|
|
|
|
|
|
|
|
rebase move commits from one location to another
|
|
|
|
graft copy commits from a different location
|
|
|
|
|
|
|
|
Undo changes:
|
|
|
|
|
|
|
|
uncommit uncommit part or all of the current commit
|
|
|
|
|
|
|
|
Other commands:
|
|
|
|
|
|
|
|
config show config settings
|
|
|
|
grep search for a pattern in tracked files in the working directory
|
|
|
|
|
|
|
|
Additional help topics:
|
|
|
|
|
|
|
|
filesets specifying files by their characteristics
|
|
|
|
glossary common terms
|
|
|
|
patterns specifying files by file name pattern
|
|
|
|
revisions specifying commits
|
|
|
|
templating customizing output with templates
|
2010-10-17 21:24:37 +04:00
|
|
|
[255]
|
|
|
|
|
2016-05-07 02:16:58 +03:00
|
|
|
environment variable changes in alias commands
|
|
|
|
|
2017-10-03 02:48:58 +03:00
|
|
|
$ cat > $TESTTMP/expandalias.py <<EOF
|
2016-05-07 02:16:58 +03:00
|
|
|
> import os
|
2019-01-30 03:25:33 +03:00
|
|
|
> from edenscm.mercurial import cmdutil, commands, registrar
|
2017-10-03 02:48:58 +03:00
|
|
|
> cmdtable = {}
|
|
|
|
> command = registrar.command(cmdtable)
|
|
|
|
> @command('expandalias')
|
|
|
|
> def expandalias(ui, repo, name):
|
|
|
|
> alias = cmdutil.findcmd(name, commands.table)[1][0]
|
|
|
|
> ui.write('%s args: %s\n' % (name, ' '.join(alias.args)))
|
2016-05-07 02:16:58 +03:00
|
|
|
> os.environ['COUNT'] = '2'
|
2017-10-03 02:48:58 +03:00
|
|
|
> ui.write('%s args: %s (with COUNT=2)\n' % (name, ' '.join(alias.args)))
|
2016-05-07 02:16:58 +03:00
|
|
|
> EOF
|
|
|
|
|
|
|
|
$ cat >> $HGRCPATH <<'EOF'
|
|
|
|
> [extensions]
|
2017-10-03 02:48:58 +03:00
|
|
|
> expandalias = $TESTTMP/expandalias.py
|
2016-05-07 02:16:58 +03:00
|
|
|
> [alias]
|
2017-10-03 02:48:58 +03:00
|
|
|
> showcount = log -T "$COUNT" -r .
|
2016-05-07 02:16:58 +03:00
|
|
|
> EOF
|
|
|
|
|
2017-10-03 02:48:58 +03:00
|
|
|
$ COUNT=1 hg expandalias showcount
|
|
|
|
showcount args: -T 1 -r .
|
|
|
|
showcount args: -T 2 -r . (with COUNT=2)
|
2016-05-07 02:16:58 +03:00
|
|
|
|
2011-12-02 01:51:36 +04:00
|
|
|
This should show id:
|
|
|
|
|
|
|
|
$ hg --config alias.log='id' log
|
|
|
|
000000000000 tip
|
|
|
|
|
|
|
|
This shouldn't:
|
|
|
|
|
|
|
|
$ hg --config alias.log='id' history
|
2012-06-11 03:38:32 +04:00
|
|
|
|
|
|
|
$ cd ../..
|
2014-05-17 09:43:06 +04:00
|
|
|
|
|
|
|
return code of command and shell aliases:
|
|
|
|
|
|
|
|
$ hg mycommit -R alias
|
|
|
|
nothing changed
|
|
|
|
[1]
|
|
|
|
$ hg exit1
|
|
|
|
[1]
|
2015-01-21 18:07:06 +03:00
|
|
|
|
|
|
|
#if no-outer-repo
|
|
|
|
$ hg root
|
|
|
|
abort: no repository found in '$TESTTMP' (.hg not found)!
|
|
|
|
[255]
|
|
|
|
$ hg --config alias.hgroot='!hg root' hgroot
|
|
|
|
abort: no repository found in '$TESTTMP' (.hg not found)!
|
|
|
|
[255]
|
|
|
|
#endif
|
2018-10-17 22:20:08 +03:00
|
|
|
|
|
|
|
documented aliases
|
|
|
|
|
|
|
|
$ hg help documented
|
|
|
|
hg documented [-nibtB] [-r REV] [SOURCE]
|
|
|
|
|
|
|
|
an alias for the id command
|
|
|
|
|
|
|
|
alias for: hg id
|
|
|
|
|
|
|
|
identify the working directory or specified revision
|
|
|
|
|
|
|
|
Print a summary identifying the repository state at REV using one or two
|
|
|
|
parent hash identifiers, followed by a "+" if the working directory has
|
2019-02-15 04:36:27 +03:00
|
|
|
uncommitted changes, a list of tags, and a list of bookmarks.
|
2018-10-17 22:20:08 +03:00
|
|
|
|
|
|
|
When REV is not given, print a summary of the current state of the
|
|
|
|
repository.
|
|
|
|
|
|
|
|
Specifying a path to a repository root or Mercurial bundle will cause
|
|
|
|
lookup to operate on that repository/bundle.
|
|
|
|
|
|
|
|
See 'hg log' for generating more information about specific revisions,
|
|
|
|
including full hash identifiers.
|
|
|
|
|
|
|
|
Returns 0 if successful.
|
|
|
|
|
|
|
|
defined by: * (glob)
|
2018-10-19 00:39:19 +03:00
|
|
|
[^ ].* (re) (?)
|
2018-10-17 22:20:08 +03:00
|
|
|
|
|
|
|
Options:
|
|
|
|
|
|
|
|
-r --rev REV identify the specified revision
|
|
|
|
-n --num show local revision number
|
|
|
|
-i --id show global revision id
|
|
|
|
-t --tags show tags
|
|
|
|
-B --bookmarks show bookmarks
|
|
|
|
-e --ssh CMD specify ssh command to use
|
|
|
|
--remotecmd CMD specify hg command to run on the remote side
|
|
|
|
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
2019-07-20 11:01:33 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-10-17 22:20:08 +03:00
|
|
|
$ hg help commands | grep documented
|
|
|
|
documented an alias for the id command
|