2018-06-15 04:40:53 +03:00
|
|
|
#require no-fsmonitor
|
|
|
|
|
2010-09-18 02:03:08 +04:00
|
|
|
Short help:
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
$ hg
|
|
|
|
Mercurial Distributed SCM
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
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.
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Get the latest commits from the server:
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
pull pull changes from the specified source
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
View commits:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
show show commit in detail
|
|
|
|
diff show differences between commits
|
|
|
|
|
|
|
|
Check out a commit:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
checkout check out a specific commit
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Work with your checkout:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Commit changes and modify commits:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
commit save all pending changes or specified files in a new commit
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Rearrange commits:
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
graft copy commits from a different location
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-30 17:58:06 +03:00
|
|
|
Undo changes:
|
|
|
|
|
|
|
|
uncommit uncommit part or all of the current commit
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Other commands:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
config show config settings
|
2018-10-26 00:42:34 +03:00
|
|
|
grep search for a pattern in tracked files in the working directory
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Additional help topics:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
$ hg -q
|
2018-10-15 19:35:15 +03:00
|
|
|
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.
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Get the latest commits from the server:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
pull pull changes from the specified source
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
View commits:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
show show commit in detail
|
|
|
|
diff show differences between commits
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Check out a commit:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
checkout check out a specific commit
|
2018-10-17 19:56:04 +03:00
|
|
|
|
|
|
|
Work with your checkout:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Commit changes and modify commits:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
commit save all pending changes or specified files in a new commit
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Rearrange commits:
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
graft copy commits from a different location
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-30 17:58:06 +03:00
|
|
|
Undo changes:
|
|
|
|
|
|
|
|
uncommit uncommit part or all of the current commit
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Other commands:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
config show config settings
|
2018-10-26 00:42:34 +03:00
|
|
|
grep search for a pattern in tracked files in the working directory
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Additional help topics:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
$ hg help
|
|
|
|
Mercurial Distributed SCM
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
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.
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Get the latest commits from the server:
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
pull pull changes from the specified source
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
View commits:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
show show commit in detail
|
|
|
|
diff show differences between commits
|
|
|
|
|
|
|
|
Check out a commit:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
checkout check out a specific commit
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Work with your checkout:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Commit changes and modify commits:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
commit save all pending changes or specified files in a new commit
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Rearrange commits:
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
graft copy commits from a different location
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-30 17:58:06 +03:00
|
|
|
Undo changes:
|
|
|
|
|
|
|
|
uncommit uncommit part or all of the current commit
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Other commands:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
config show config settings
|
2018-10-26 00:42:34 +03:00
|
|
|
grep search for a pattern in tracked files in the working directory
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Additional help topics:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
$ hg -q help
|
2018-10-15 19:35:15 +03:00
|
|
|
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.
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Get the latest commits from the server:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
pull pull changes from the specified source
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
View commits:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
show show commit in detail
|
|
|
|
diff show differences between commits
|
|
|
|
|
|
|
|
Check out a commit:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
checkout check out a specific commit
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Work with your checkout:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Commit changes and modify commits:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
commit save all pending changes or specified files in a new commit
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Rearrange commits:
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
graft copy commits from a different location
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-30 17:58:06 +03:00
|
|
|
Undo changes:
|
|
|
|
|
|
|
|
uncommit uncommit part or all of the current commit
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Other commands:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
config show config settings
|
2018-10-26 00:42:34 +03:00
|
|
|
grep search for a pattern in tracked files in the working directory
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Additional help topics:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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-08-27 18:25:47 +04:00
|
|
|
|
2014-02-28 00:37:04 +04:00
|
|
|
Test extension help:
|
2014-03-02 02:20:15 +04:00
|
|
|
$ hg help extensions --config extensions.rebase= --config extensions.children=
|
2014-02-28 00:37:04 +04:00
|
|
|
Using Additional Features
|
|
|
|
"""""""""""""""""""""""""
|
|
|
|
|
|
|
|
Mercurial has the ability to add new features through the use of
|
|
|
|
extensions. Extensions may add new commands, add options to existing
|
|
|
|
commands, change the default behavior of commands, or implement hooks.
|
|
|
|
|
|
|
|
To enable the "foo" extension, either shipped with Mercurial or in the
|
|
|
|
Python search path, create an entry for it in your configuration file,
|
|
|
|
like this:
|
|
|
|
|
|
|
|
[extensions]
|
|
|
|
foo =
|
|
|
|
|
|
|
|
You may also specify the full path to an extension:
|
|
|
|
|
|
|
|
[extensions]
|
|
|
|
myfeature = ~/.hgext/myfeature.py
|
|
|
|
|
2016-01-12 09:03:36 +03:00
|
|
|
See 'hg help config' for more information on configuration files.
|
2014-02-28 00:37:04 +04:00
|
|
|
|
|
|
|
Extensions are not loaded by default for a variety of reasons: they can
|
|
|
|
increase startup overhead; they may be meant for advanced usage only; they
|
|
|
|
may provide potentially dangerous abilities (such as letting you destroy
|
|
|
|
or modify history); they might not be ready for prime time; or they may
|
|
|
|
alter some usual behaviors of stock Mercurial. It is thus up to the user
|
|
|
|
to activate extensions as needed.
|
|
|
|
|
|
|
|
To explicitly disable an extension enabled in a configuration file of
|
|
|
|
broader scope, prepend its path with !:
|
|
|
|
|
|
|
|
[extensions]
|
|
|
|
# disabling extension bar residing in /path/to/extension/bar.py
|
|
|
|
bar = !/path/to/extension/bar.py
|
|
|
|
# ditto, but no path was supplied for extension baz
|
|
|
|
baz = !
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Enabled extensions:
|
2014-02-28 00:37:04 +04:00
|
|
|
|
2018-01-23 23:08:57 +03:00
|
|
|
conflictinfo
|
2018-01-17 23:54:24 +03:00
|
|
|
debugshell a python shell with repo, changelog & manifest objects
|
2018-01-23 23:08:57 +03:00
|
|
|
errorredirect
|
|
|
|
redirect error message
|
2018-01-13 03:58:28 +03:00
|
|
|
githelp try mapping git commands to Mercurial commands
|
2018-01-23 23:08:57 +03:00
|
|
|
mergedriver custom merge drivers for autoresolved files
|
|
|
|
progressfile allows users to have JSON progress bar information written
|
|
|
|
to a path
|
2014-02-28 00:37:04 +04:00
|
|
|
rebase command to move sets of revisions to a different ancestor
|
2018-01-24 04:55:25 +03:00
|
|
|
simplecache
|
2014-02-28 00:37:04 +04:00
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Disabled extensions:
|
2014-02-28 00:37:04 +04:00
|
|
|
|
2018-01-09 00:57:01 +03:00
|
|
|
absorb apply working directory changes to changesets
|
2018-10-11 16:55:19 +03:00
|
|
|
amend extends the existing commit amend functionality
|
2018-01-09 15:40:31 +03:00
|
|
|
arcdiff (no help text available)
|
2014-02-28 00:37:04 +04:00
|
|
|
blackbox log repository events to a blackbox for debugging
|
2018-01-09 15:40:31 +03:00
|
|
|
catnotate (no help text available)
|
|
|
|
checkmessagehook
|
|
|
|
(no help text available)
|
|
|
|
chistedit
|
2014-02-28 00:37:04 +04:00
|
|
|
churn command to display statistics about repository history
|
2018-01-09 15:40:31 +03:00
|
|
|
cleanobsstore
|
2018-03-15 21:00:26 +03:00
|
|
|
clienttelemetry
|
|
|
|
provide information about the client in server telemetry
|
2015-10-17 21:23:54 +03:00
|
|
|
clonebundles advertise pre-generated bundles to seed clones
|
2018-03-14 19:03:01 +03:00
|
|
|
commitcloud sync changesets via the cloud
|
2014-02-28 00:37:04 +04:00
|
|
|
convert import revisions from foreign VCS repositories into
|
|
|
|
Mercurial
|
2018-01-09 15:40:31 +03:00
|
|
|
copytrace extension that does copytracing fast
|
|
|
|
crdump (no help text available)
|
|
|
|
debugcommitmessage
|
|
|
|
(no help text available)
|
|
|
|
dialect replace terms with more widely used equivalents
|
|
|
|
directaccess This extension provides direct access
|
|
|
|
dirsync
|
2019-02-06 19:38:43 +03:00
|
|
|
disablesymlinks
|
|
|
|
disables symlink support when enabled
|
2018-01-09 15:40:31 +03:00
|
|
|
drop drop specified changeset from the stack
|
2018-10-18 21:05:39 +03:00
|
|
|
eden accelerated hg functionality in Eden checkouts (eden !)
|
2018-01-09 15:40:31 +03:00
|
|
|
edrecord (no help text available)
|
2014-02-28 00:37:04 +04:00
|
|
|
eol automatically manage newlines in repository files
|
|
|
|
extdiff command to allow external programs to compare revisions
|
2018-01-09 15:40:31 +03:00
|
|
|
extorder
|
|
|
|
extutil (no help text available)
|
|
|
|
fastannotate yet another annotate implementation that might be faster
|
|
|
|
fastlog
|
2018-05-30 23:30:10 +03:00
|
|
|
fastmanifest a treemanifest disk cache for speeding up manifest
|
|
|
|
comparison
|
2018-01-09 15:40:31 +03:00
|
|
|
fbconduit (no help text available)
|
|
|
|
fbhistedit extends the existing histedit functionality
|
|
|
|
fixcorrupt (no help text available)
|
|
|
|
generic_bisect
|
|
|
|
(no help text available)
|
|
|
|
gitlookup extension that will look up hashes from an hg-git map file
|
|
|
|
over the wire.
|
|
|
|
gitrevset map a git hash to a Mercurial hash:
|
2018-06-28 18:15:26 +03:00
|
|
|
globalrevs extension for providing strictly increasing revision
|
|
|
|
numbers
|
2014-02-28 00:37:04 +04:00
|
|
|
gpg commands to sign and verify changesets
|
2018-01-09 15:40:31 +03:00
|
|
|
grepdiff (no help text available)
|
|
|
|
grpcheck check if the user is in specified groups
|
Split out a new hgevents extension from fsmonitor.
Summary:
This splits out the logic in the `fsmonitor` extension that is responsible for
publishing `hg.filemerge` and `hg.update` state changes to Watchman into
its own extension, `hgevents`. This is because we want the behavior of
`hgevents` when Hg is running in Eden, but we do not want the remaining
behavior of `fsmonitor` when Hg is running in Eden, so splitting the logic
into separate extensions is the most straightforward way to achieve that.
To achieve the split, we move some more logic that is common to both
`fsmonitor` and `hgevents` out of `hgext/fsmonitor/__init__.py` and into
`hgext/extlib/watchmanclient/__init__.py`. Then we move these lines
out of `extsetup()` in `fsmonitor` to create `extsetup()` in `hgevents`:
```
extensions.wrapfunction(merge, 'update', wrapupdate)
extensions.wrapfunction(filemerge, '_xmerge', _xmerge)
```
We also have to pull all of the transitive dependencies for this logic
into `hgevents`.
Finally, we also have to define a `reposetup()` function in `hgevents`
that does a subset of what `reposetup()` does in `fsmonitor`. Specifically,
it ensures that a Watchman client is created for a `repo`, as appropriate,
so that it can be used to dispatch state changes to Watchman in
`state_filemerge` and `state_update`.
Note that the utility functions `createclientforrepo()` and
`getclientforrepo()` have been added to ensure that only one
Watchman client is created (and shared) when both `fsmonitor`
and `hgevents` are enabled.
Today, when an Hg repo is created in Eden, we set `extensions.fsmonitor=!`
in the `.hg/hgrc`:
diffusion/FBS/browse/master/fbcode/eden/hooks/hg/post-clone.py$69
Therefore, to get existing repos (both Eden and non-Eden) to pick up
the `hgevents` extension automatically, we add it to the list of
`[extensions]` in `common.rc`:
diffusion/FBS/browse/master/fbcode/scm/hg/fb/staticfiles/etc/mercurial/repo-specific/common.rc$53-60
as this is where `fsmonitor` is configured. We do not enable it in
`scm/hg/fb/staticfiles/etc/mercurial/facebook.rc` because
there is no reason to enable `hgevents` on Hg servers. Therefore, we
also decline to add `hgevents` to the set of `DEFAULT_EXTENSIONS` in
`scm/hg/mercurial/extensions.py`.
Reviewed By: quark-zju
Differential Revision: D8003628
fbshipit-source-id: 4f23881f8c25f4638f5475c292537b0352ae8d15
2018-05-21 19:27:36 +03:00
|
|
|
hgevents publishes state-enter and state-leave events to Watchman
|
2018-01-09 17:08:01 +03:00
|
|
|
hggit push and pull from a Git server
|
2018-09-26 02:04:12 +03:00
|
|
|
hgsql sync hg repos with MySQL
|
2018-01-11 03:20:45 +03:00
|
|
|
hgsubversion integration with Subversion repositories
|
2018-01-09 15:40:31 +03:00
|
|
|
hiddenerror configurable error messages for accessing hidden changesets
|
2014-02-28 00:37:04 +04:00
|
|
|
highlight syntax highlighting for hgweb (requires Pygments)
|
|
|
|
histedit interactive history editing
|
2018-06-05 14:24:00 +03:00
|
|
|
infinitepush store draft commits in the cloud
|
|
|
|
infinitepushbackup
|
|
|
|
back up draft commits in the cloud
|
2018-01-09 15:40:31 +03:00
|
|
|
interactiveui
|
|
|
|
(no help text available)
|
|
|
|
linkrevcache a simple caching layer to speed up _adjustlinkrev
|
|
|
|
logginghelper
|
|
|
|
this extension logs different pieces of information that
|
|
|
|
will be used
|
2018-01-03 21:13:17 +03:00
|
|
|
lz4revlog store revlog deltas using lz4 compression
|
2018-01-09 15:40:31 +03:00
|
|
|
morecolors make more output colorful
|
|
|
|
morestatus make status give a bit more context
|
|
|
|
myparent
|
|
|
|
nointerrupt warns but doesn't exit when the user first hits Ctrl+C
|
|
|
|
ownercheck prevent operations on repos not owned by the current user
|
|
|
|
p4fastimport p4fastimport - A fast importer from Perforce to Mercurial
|
2014-02-28 00:37:04 +04:00
|
|
|
patchbomb command to send changesets as (a series of) patch emails
|
2018-03-26 10:40:01 +03:00
|
|
|
perfsuite (no help text available)
|
2018-01-09 15:40:31 +03:00
|
|
|
phabdiff (no help text available)
|
|
|
|
phabstatus (no help text available)
|
|
|
|
phrevset provides support for Phabricator revsets
|
|
|
|
pullcreatemarkers
|
|
|
|
(no help text available)
|
2014-02-28 00:37:04 +04:00
|
|
|
purge command to delete untracked files from the working
|
|
|
|
directory
|
2018-01-09 15:40:31 +03:00
|
|
|
pushrebase rebases commits during push
|
|
|
|
rage upload useful diagnostics and give instructions for asking
|
|
|
|
for help
|
|
|
|
remotefilelog
|
2018-01-09 16:52:58 +03:00
|
|
|
minimize and speed up large repositories
|
|
|
|
remotenames mercurial extension for improving client/server workflows
|
2018-03-26 20:58:01 +03:00
|
|
|
repogenerator
|
|
|
|
(no help text available)
|
2018-01-09 15:40:31 +03:00
|
|
|
reset reset the active bookmark and working copy to a desired
|
|
|
|
revision
|
|
|
|
sampling (no help text available)
|
2014-02-28 00:37:04 +04:00
|
|
|
schemes extend schemes with shortcuts to repository swarms
|
|
|
|
share share a common history between several working directories
|
|
|
|
shelve save and restore changes to the working directory
|
2018-02-07 01:23:23 +03:00
|
|
|
sigtrace sigtrace - dump stack and memory traces on signal
|
2018-01-09 15:40:31 +03:00
|
|
|
smartlog command to display a relevant subgraph
|
2018-01-23 23:08:36 +03:00
|
|
|
sparse allow sparse checkouts of the working directory
|
2018-01-09 15:40:31 +03:00
|
|
|
sshaskpass ssh-askpass implementation that works with chg
|
2018-11-19 17:32:33 +03:00
|
|
|
stablerev provide a way to expose the "stable" commit via a revset
|
2018-01-09 15:40:31 +03:00
|
|
|
stat (no help text available)
|
2014-04-18 00:47:38 +04:00
|
|
|
strip strip changesets and their descendants from history
|
2014-02-28 00:37:04 +04:00
|
|
|
transplant command to transplant changesets from another branch
|
2018-01-09 22:06:49 +03:00
|
|
|
treemanifest
|
2018-01-09 15:40:31 +03:00
|
|
|
tweakdefaults
|
|
|
|
user friendly defaults
|
|
|
|
undo (no help text available)
|
|
|
|
whereami (no help text available)
|
2014-02-28 00:37:04 +04:00
|
|
|
win32mbcs allow the use of MBCS paths with problematic encodings
|
2015-09-24 20:58:18 +03:00
|
|
|
|
2018-10-18 21:05:39 +03:00
|
|
|
|
2018-10-26 00:42:34 +03:00
|
|
|
|
2015-09-24 20:58:18 +03:00
|
|
|
Verify that extension keywords appear in help templates
|
|
|
|
|
|
|
|
$ hg help --config extensions.transplant= templating|grep transplant > /dev/null
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Normal help for add
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
$ hg add -h
|
|
|
|
hg add [OPTION]... [FILE]...
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
start tracking the specified files
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
Schedule files to be version controlled and added to the repository.
|
|
|
|
|
|
|
|
The files will be added to the repository at the next commit. To undo an
|
2016-01-12 09:03:36 +03:00
|
|
|
add before that, see 'hg forget'.
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2015-12-17 17:53:40 +03:00
|
|
|
If no names are given, add all files to the repository (except files
|
|
|
|
matching ".hgignore").
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
Returns 0 if all files are successfully added.
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Options ([+] can be repeated):
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2011-09-21 22:00:48 +04:00
|
|
|
-I --include PATTERN [+] include names matching the given patterns
|
|
|
|
-X --exclude PATTERN [+] exclude names matching the given patterns
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
-S --subrepos recurse into subrepositories
|
|
|
|
-n --dry-run do not perform actions, just print output
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2014-08-12 12:01:37 +04:00
|
|
|
(some details hidden, use --verbose to show complete help)
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
Verbose help for add
|
|
|
|
|
|
|
|
$ hg add -hv
|
|
|
|
hg add [OPTION]... [FILE]...
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
start tracking the specified files
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
Schedule files to be version controlled and added to the repository.
|
|
|
|
|
|
|
|
The files will be added to the repository at the next commit. To undo an
|
2016-01-12 09:03:36 +03:00
|
|
|
add before that, see 'hg forget'.
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2015-12-17 17:53:40 +03:00
|
|
|
If no names are given, add all files to the repository (except files
|
|
|
|
matching ".hgignore").
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2015-11-25 20:10:31 +03:00
|
|
|
Examples:
|
|
|
|
|
2016-01-12 09:03:36 +03:00
|
|
|
- New (unknown) files are added automatically by 'hg add':
|
2015-11-25 20:10:31 +03:00
|
|
|
|
|
|
|
$ ls
|
|
|
|
foo.c
|
|
|
|
$ hg status
|
|
|
|
? foo.c
|
|
|
|
$ hg add
|
|
|
|
adding foo.c
|
|
|
|
$ hg status
|
|
|
|
A foo.c
|
|
|
|
|
|
|
|
- Specific files to be added can be specified:
|
|
|
|
|
|
|
|
$ ls
|
|
|
|
bar.c foo.c
|
|
|
|
$ hg status
|
|
|
|
? bar.c
|
|
|
|
? foo.c
|
|
|
|
$ hg add bar.c
|
|
|
|
$ hg status
|
|
|
|
A bar.c
|
|
|
|
? foo.c
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
Returns 0 if all files are successfully added.
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Options ([+] can be repeated):
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2011-09-21 22:00:48 +04:00
|
|
|
-I --include PATTERN [+] include names matching the given patterns
|
|
|
|
-X --exclude PATTERN [+] exclude names matching the given patterns
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
-S --subrepos recurse into subrepositories
|
|
|
|
-n --dry-run do not perform actions, just print output
|
2011-09-21 22:00:48 +04:00
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Global options ([+] can be repeated):
|
2011-09-21 22:00:48 +04:00
|
|
|
|
2018-03-20 02:20:55 +03:00
|
|
|
-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
|
|
|
|
-q --quiet suppress output
|
|
|
|
-v --verbose enable additional output
|
|
|
|
--color TYPE when to colorize (boolean, always, auto, never, or
|
|
|
|
debug)
|
|
|
|
--config CONFIG [+] set/override config option (use
|
|
|
|
'section.name=value')
|
|
|
|
--configfile FILE [+] enables the given config file
|
|
|
|
--debug enable debugging output
|
|
|
|
--debugger start debugger
|
|
|
|
--encoding ENCODE set the charset encoding (default: ascii)
|
|
|
|
--encodingmode MODE set the charset encoding mode (default: strict)
|
|
|
|
--traceback always print a traceback on exception
|
|
|
|
--time time how long the command takes
|
|
|
|
--profile print command execution profile
|
|
|
|
--version output version information and exit
|
|
|
|
-h --help display help and exit
|
|
|
|
--hidden consider hidden changesets
|
|
|
|
--pager TYPE when to paginate (boolean, always, auto, or never)
|
|
|
|
(default: auto)
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2016-05-04 20:18:24 +03:00
|
|
|
Test the textwidth config option
|
|
|
|
|
|
|
|
$ hg root -h --config ui.textwidth=50
|
|
|
|
hg root
|
|
|
|
|
|
|
|
print the root (top) of the current working
|
|
|
|
directory
|
|
|
|
|
|
|
|
Print the root directory of the current
|
|
|
|
repository.
|
|
|
|
|
|
|
|
Returns 0 on success.
|
|
|
|
|
|
|
|
(some details hidden, use --verbose to show
|
|
|
|
complete help)
|
|
|
|
|
2010-08-27 18:25:47 +04:00
|
|
|
Test help option with version option
|
|
|
|
|
|
|
|
$ hg add -h --version
|
2010-09-23 01:06:02 +04:00
|
|
|
Mercurial Distributed SCM (version *) (glob)
|
2015-09-30 23:43:49 +03:00
|
|
|
(see https://mercurial-scm.org for more information)
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2017-02-11 20:23:33 +03:00
|
|
|
Copyright (C) 2005-* Matt Mackall and others (glob)
|
2010-08-27 18:25:47 +04:00
|
|
|
This is free software; see the source for copying conditions. There is NO
|
|
|
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
|
|
|
|
$ hg add --skjdfks
|
|
|
|
hg add: option --skjdfks not recognized
|
|
|
|
hg add [OPTION]... [FILE]...
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
start tracking the specified files
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Options ([+] can be repeated):
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2011-09-21 22:00:48 +04:00
|
|
|
-I --include PATTERN [+] include names matching the given patterns
|
|
|
|
-X --exclude PATTERN [+] exclude names matching the given patterns
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
-S --subrepos recurse into subrepositories
|
|
|
|
-n --dry-run do not perform actions, just print output
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2016-09-21 02:47:46 +03:00
|
|
|
(use 'hg add -h' to show more help)
|
2010-09-17 02:51:32 +04:00
|
|
|
[255]
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
Test ambiguous command help
|
|
|
|
|
|
|
|
$ hg help ad
|
2018-10-15 19:35:15 +03:00
|
|
|
Commands:
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
add start tracking the specified files
|
help: format command and option list help using RST
This patch changes the function which generates help text about commands and
options to use RST formatting. Tables describing options have been formatted
using RST table markup for some time already, so their appearance does not
change. Command lists, however, change appearance.
To format non-verbose command lists, RST field list markup was chosen, because
it resembles the old format:
<http://docutils.sourceforge.net/docs/user/rst/quickref.html#field-lists>
In the old (hand-coded) format of non-verbose command lists, the left column is
12 characters wide. Our minirst implementation formats field lists with a left
column 14 characters wide, so this patch changes the appearance of help output
correspondingly:
<http://markmail.org/message/krl4cxopsnii7s6z?q=mercurial+reinert+from:%22Olav+Reinert%22&page=2>
The minirst markup most closely resembling the old verbose command lists is
definition lists. But using it would cause a blank line to be inserted between
each command definition, making the output excessively long, and no more
useful than before. To avoid this, I chose to use field lists also for verbose
command help, resulting in output like this example:
add add the specified files on the next commit
annotate, blame
show changeset information by line for each file
clone make a copy of an existing repository
commit, ci commit the specified files or all outstanding changes
diff diff repository (or selected files)
export dump the header and diffs for one or more changesets
forget forget the specified files on the next commit
init create a new repository in the given directory
log, history show revision history of entire repository or files
merge merge working directory with another revision
phase set or show the current phase name
pull pull changes from the specified source
push push changes to the specified destination
qdiff diff of the current patch and subsequent modifications
qinit init a new queue repository (DEPRECATED)
qnew create a new patch
qpop pop the current patch off the stack
qpush push the next patch onto the stack
qrefresh update the current patch
remove, rm remove the specified files on the next commit
serve start stand-alone webserver
status, st show changed files in the working directory
summary, sum summarize working directory state
update, up, checkout, co
update working directory (or switch revisions)
This change is a move towards generating all help text as a list of strings
marked up with RST.
2012-06-02 13:25:40 +04:00
|
|
|
addremove add all new files, delete all missing files
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
Test command without options
|
|
|
|
|
|
|
|
$ hg help verify
|
|
|
|
hg verify
|
|
|
|
|
|
|
|
verify the integrity of the repository
|
|
|
|
|
|
|
|
Verify the integrity of the current repository.
|
|
|
|
|
|
|
|
This will perform an extensive check of the repository's integrity,
|
|
|
|
validating the hashes and checksums of each entry in the changelog,
|
|
|
|
manifest, and tracked files, as well as the integrity of their crosslinks
|
|
|
|
and indices.
|
|
|
|
|
2015-09-30 23:43:49 +03:00
|
|
|
Please see https://mercurial-scm.org/wiki/RepositoryCorruption for more
|
2012-10-03 20:24:05 +04:00
|
|
|
information about recovery from corruption of the repository.
|
|
|
|
|
2010-08-27 18:25:47 +04:00
|
|
|
Returns 0 on success, 1 if errors are encountered.
|
|
|
|
|
2018-02-03 00:01:28 +03:00
|
|
|
Manifest verification can be extremely slow on large repos, so it can be
|
|
|
|
disabled if "verify.skipmanifests" is True:
|
|
|
|
|
|
|
|
[verify]
|
|
|
|
skipmanifests = true
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Options ([+] can be repeated):
|
2018-02-16 06:10:45 +03:00
|
|
|
|
|
|
|
-r --rev REV [+] verify the specified revision or revset
|
|
|
|
|
2014-08-12 12:01:37 +04:00
|
|
|
(some details hidden, use --verbose to show complete help)
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
$ hg help diff
|
|
|
|
hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
show differences between commits
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-11-10 00:11:58 +03:00
|
|
|
Show the differences between two commits. If only one commit is specified,
|
|
|
|
shows the differences between the specified commit and your pending
|
|
|
|
changes. If no commits are specified, shows your pending changes.
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-11-10 00:11:58 +03:00
|
|
|
Specify -c to see the changes in the specified commit relative to its
|
|
|
|
parent.
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-11-10 00:11:58 +03:00
|
|
|
By default, this command skips binary files. To override this behavior,
|
|
|
|
specify -a to include binary files in the diff, probably with undesirable
|
|
|
|
results.
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-11-10 00:11:58 +03:00
|
|
|
By default, diffs are shown using the unified diff format. Specify -g to
|
|
|
|
generate diffs in the git extended diff format. For more information, read
|
|
|
|
'hg help diffs'.
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-11-10 00:11:58 +03:00
|
|
|
Note:
|
|
|
|
'hg diff' might generate unexpected results during merges because it
|
|
|
|
defaults to comparing against your checkout's first parent commit if no
|
|
|
|
commits are specified.
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
Returns 0 on success.
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Options ([+] can be repeated):
|
2010-08-27 18:25:47 +04:00
|
|
|
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
-r --rev REV [+] revision
|
|
|
|
-c --change REV change made by revision
|
|
|
|
-a --text treat all files as text
|
|
|
|
-g --git use git extended diff format
|
2017-04-06 01:31:08 +03:00
|
|
|
--binary generate binary diffs in git mode (default)
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
--nodates omit dates from diff headers
|
|
|
|
--noprefix omit a/ and b/ prefixes from filenames
|
|
|
|
-p --show-function show which function each change is in
|
|
|
|
--reverse produce a diff that undoes the changes
|
|
|
|
-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
|
2017-08-30 04:20:50 +03:00
|
|
|
-Z --ignore-space-at-eol ignore changes in whitespace at EOL
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
-U --unified NUM number of lines of context to show
|
|
|
|
--stat output diffstat-style summary of changes
|
|
|
|
--root DIR produce diffs relative to subdirectory
|
2018-02-26 19:49:57 +03:00
|
|
|
--only-files-in-revs only show changes for files modified in the
|
|
|
|
requested revisions
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
-I --include PATTERN [+] include names matching the given patterns
|
|
|
|
-X --exclude PATTERN [+] exclude names matching the given patterns
|
|
|
|
-S --subrepos recurse into subrepositories
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2014-08-12 12:01:37 +04:00
|
|
|
(some details hidden, use --verbose to show complete help)
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
$ hg help status
|
|
|
|
hg status [OPTION]... [FILE]...
|
|
|
|
|
|
|
|
aliases: st
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
list files with pending changes
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
Show status of files in the repository. If names are given, only files
|
|
|
|
that match are shown. Files that are clean or ignored or the source of a
|
|
|
|
copy/move operation, are not listed unless -c/--clean, -i/--ignored,
|
|
|
|
-C/--copies or -A/--all are given. Unless options described with "show
|
|
|
|
only ..." are given, the options -mardu are used.
|
|
|
|
|
|
|
|
Option -q/--quiet hides untracked (unknown and ignored) files unless
|
|
|
|
explicitly requested with -u/--unknown or -i/--ignored.
|
|
|
|
|
2010-09-23 18:31:38 +04:00
|
|
|
Note:
|
2016-01-12 09:03:36 +03:00
|
|
|
'hg status' may appear to disagree with diff if permissions have
|
2015-12-22 05:24:16 +03:00
|
|
|
changed or a merge has occurred. The standard diff format does not
|
|
|
|
report permission changes and diff only reports changes relative to one
|
|
|
|
merge parent.
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
If one revision is given, it is used as the base revision. If two
|
|
|
|
revisions are given, the differences between them are shown. The --change
|
|
|
|
option can also be used as a shortcut to list the changed files of a
|
|
|
|
revision from its first parent.
|
|
|
|
|
|
|
|
The codes used to show the status of files are:
|
|
|
|
|
|
|
|
M = modified
|
|
|
|
A = added
|
|
|
|
R = removed
|
|
|
|
C = clean
|
|
|
|
! = missing (deleted by non-hg command, but still tracked)
|
|
|
|
? = not tracked
|
|
|
|
I = ignored
|
2014-03-07 03:26:49 +04:00
|
|
|
= origin of the previous file (with --copies)
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
Returns 0 on success.
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Options ([+] can be repeated):
|
2010-08-27 18:25:47 +04:00
|
|
|
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
-A --all show status of all files
|
|
|
|
-m --modified show only modified files
|
|
|
|
-a --added show only added files
|
|
|
|
-r --removed show only removed files
|
|
|
|
-d --deleted show only deleted (but tracked) files
|
|
|
|
-c --clean show only files without changes
|
|
|
|
-u --unknown show only unknown (not tracked) files
|
|
|
|
-i --ignored show only ignored files
|
|
|
|
-n --no-status hide status prefix
|
|
|
|
-C --copies show source of copied files
|
|
|
|
-0 --print0 end filenames with NUL, for use with xargs
|
2011-09-21 22:00:48 +04:00
|
|
|
--rev REV [+] show difference from revision
|
|
|
|
--change REV list the changed files of a revision
|
|
|
|
-I --include PATTERN [+] include names matching the given patterns
|
|
|
|
-X --exclude PATTERN [+] exclude names matching the given patterns
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
-S --subrepos recurse into subrepositories
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2014-08-12 12:01:37 +04:00
|
|
|
(some details hidden, use --verbose to show complete help)
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
$ hg -q help status
|
|
|
|
hg status [OPTION]... [FILE]...
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
list files with pending changes
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
$ hg help foo
|
2014-04-17 03:55:40 +04:00
|
|
|
abort: no such help topic: foo
|
2016-09-21 02:47:46 +03:00
|
|
|
(try 'hg help --keyword foo')
|
2010-09-17 02:51:32 +04:00
|
|
|
[255]
|
2010-08-27 18:25:47 +04:00
|
|
|
|
|
|
|
$ hg skjdfks
|
|
|
|
hg: unknown command 'skjdfks'
|
|
|
|
Mercurial Distributed SCM
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
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.
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Get the latest commits from the server:
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
pull pull changes from the specified source
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
View commits:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
show show commit in detail
|
|
|
|
diff show differences between commits
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Check out a commit:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
checkout check out a specific commit
|
2018-10-17 19:56:04 +03:00
|
|
|
|
|
|
|
Work with your checkout:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Commit changes and modify commits:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
commit save all pending changes or specified files in a new commit
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Rearrange commits:
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
graft copy commits from a different location
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-30 17:58:06 +03:00
|
|
|
Undo changes:
|
|
|
|
|
|
|
|
uncommit uncommit part or all of the current commit
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Other commands:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
config show config settings
|
2018-10-26 00:42:34 +03:00
|
|
|
grep search for a pattern in tracked files in the working directory
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Additional help topics:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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-09-17 02:51:32 +04:00
|
|
|
[255]
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2017-07-07 10:12:44 +03:00
|
|
|
Typoed command gives suggestion
|
|
|
|
$ hg puls
|
|
|
|
hg: unknown command 'puls'
|
|
|
|
(did you mean one of pull, push?)
|
|
|
|
[255]
|
|
|
|
|
|
|
|
Not enabled extension gets suggested
|
|
|
|
|
|
|
|
$ hg rebase
|
|
|
|
hg: unknown command 'rebase'
|
|
|
|
'rebase' is provided by the following extension:
|
|
|
|
|
|
|
|
rebase command to move sets of revisions to a different ancestor
|
|
|
|
|
|
|
|
(use 'hg help extensions' for information on enabling extensions)
|
|
|
|
[255]
|
|
|
|
|
|
|
|
Disabled extension gets suggested
|
|
|
|
$ hg --config extensions.rebase=! rebase
|
|
|
|
hg: unknown command 'rebase'
|
2017-07-07 10:13:53 +03:00
|
|
|
'rebase' is provided by the following extension:
|
|
|
|
|
|
|
|
rebase command to move sets of revisions to a different ancestor
|
|
|
|
|
|
|
|
(use 'hg help extensions' for information on enabling extensions)
|
2017-07-07 10:12:44 +03:00
|
|
|
[255]
|
2014-02-17 10:39:53 +04:00
|
|
|
|
2015-09-25 18:16:20 +03:00
|
|
|
Make sure that we don't run afoul of the help system thinking that
|
|
|
|
this is a section and erroring out weirdly.
|
|
|
|
|
|
|
|
$ hg .log
|
|
|
|
hg: unknown command '.log'
|
2016-01-05 08:52:44 +03:00
|
|
|
(did you mean log?)
|
2015-09-25 18:16:20 +03:00
|
|
|
[255]
|
|
|
|
|
|
|
|
$ hg log.
|
|
|
|
hg: unknown command 'log.'
|
2016-01-05 08:52:44 +03:00
|
|
|
(did you mean log?)
|
2015-09-25 18:16:20 +03:00
|
|
|
[255]
|
|
|
|
$ hg pu.lh
|
|
|
|
hg: unknown command 'pu.lh'
|
|
|
|
(did you mean one of pull, push?)
|
|
|
|
[255]
|
|
|
|
|
2010-08-27 18:25:47 +04:00
|
|
|
$ cat > helpext.py <<EOF
|
|
|
|
> import os
|
2019-01-30 03:25:33 +03:00
|
|
|
> from edenscm.mercurial import commands, registrar
|
2010-08-27 18:25:47 +04:00
|
|
|
>
|
2014-05-05 09:48:07 +04:00
|
|
|
> cmdtable = {}
|
2016-01-09 17:07:20 +03:00
|
|
|
> command = registrar.command(cmdtable)
|
2014-05-05 09:48:07 +04:00
|
|
|
>
|
2017-05-28 22:42:05 +03:00
|
|
|
> @command(b'nohelp',
|
|
|
|
> [(b'', b'longdesc', 3, b'x'*90),
|
|
|
|
> (b'n', b'', None, b'normal desc'),
|
|
|
|
> (b'', b'newline', b'', b'line1\nline2')],
|
|
|
|
> b'hg nohelp',
|
2014-05-05 09:07:45 +04:00
|
|
|
> norepo=True)
|
2017-05-28 22:42:05 +03:00
|
|
|
> @command(b'debugoptADV', [(b'', b'aopt', None, b'option is (ADVANCED)')])
|
|
|
|
> @command(b'debugoptDEP', [(b'', b'dopt', None, b'option is (DEPRECATED)')])
|
|
|
|
> @command(b'debugoptEXP', [(b'', b'eopt', None, b'option is (EXPERIMENTAL)')])
|
2010-08-27 18:25:47 +04:00
|
|
|
> def nohelp(ui, *args, **kwargs):
|
|
|
|
> pass
|
|
|
|
>
|
2016-04-08 21:35:49 +03:00
|
|
|
> def uisetup(ui):
|
2017-05-28 22:42:05 +03:00
|
|
|
> ui.setconfig(b'alias', b'shellalias', b'!echo hi', b'helpext')
|
|
|
|
> ui.setconfig(b'alias', b'hgalias', b'summary', b'helpext')
|
2016-04-08 21:35:49 +03:00
|
|
|
>
|
2010-08-27 18:25:47 +04:00
|
|
|
> EOF
|
|
|
|
$ echo '[extensions]' >> $HGRCPATH
|
|
|
|
$ echo "helpext = `pwd`/helpext.py" >> $HGRCPATH
|
|
|
|
|
2016-04-08 21:35:49 +03:00
|
|
|
Test for aliases
|
|
|
|
|
|
|
|
$ hg help hgalias
|
|
|
|
hg hgalias [--remote]
|
|
|
|
|
|
|
|
alias for: hg summary
|
|
|
|
|
|
|
|
summarize working directory state
|
|
|
|
|
|
|
|
This generates a brief summary of the working directory state, including
|
|
|
|
parents, branch, commit status, phase and available updates.
|
|
|
|
|
|
|
|
With the --remote option, this will check the default paths for incoming
|
|
|
|
and outgoing changes. This can be time-consuming.
|
|
|
|
|
|
|
|
Returns 0 on success.
|
|
|
|
|
|
|
|
defined by: helpext
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Options:
|
2016-04-08 21:35:49 +03:00
|
|
|
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
--remote check for push and pull
|
2016-04-08 21:35:49 +03:00
|
|
|
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
|
|
|
|
|
|
|
$ hg help shellalias
|
|
|
|
hg shellalias
|
|
|
|
|
|
|
|
shell alias for:
|
|
|
|
|
|
|
|
echo hi
|
|
|
|
|
|
|
|
defined by: helpext
|
|
|
|
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
|
|
|
|
2010-08-27 18:25:47 +04:00
|
|
|
Test command with no help text
|
|
|
|
|
|
|
|
$ hg help nohelp
|
|
|
|
hg nohelp
|
|
|
|
|
|
|
|
(no help text available)
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Options:
|
2014-02-19 20:32:21 +04:00
|
|
|
|
|
|
|
--longdesc VALUE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
|
|
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (default: 3)
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
-n -- normal desc
|
2014-02-19 20:32:21 +04:00
|
|
|
--newline VALUE line1 line2
|
|
|
|
|
2014-08-12 12:01:37 +04:00
|
|
|
(some details hidden, use --verbose to show complete help)
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2012-06-07 17:54:40 +04:00
|
|
|
$ hg help -k nohelp
|
|
|
|
Commands:
|
|
|
|
|
|
|
|
nohelp hg nohelp
|
|
|
|
|
|
|
|
Extension Commands:
|
|
|
|
|
|
|
|
nohelp (no help text available)
|
|
|
|
|
2018-02-07 05:10:48 +03:00
|
|
|
Commands in disabled extensions gets suggested even if there is no help text
|
|
|
|
for the module itself.
|
|
|
|
|
|
|
|
$ hg help --config 'extensions.helpext=!'`pwd`/helpext.py nohelp
|
|
|
|
'nohelp' is provided by the following extension:
|
|
|
|
|
|
|
|
helpext (no help text available)
|
|
|
|
|
|
|
|
(use 'hg help extensions' for information on enabling extensions)
|
|
|
|
|
2010-08-27 18:25:47 +04:00
|
|
|
Test that default list of commands omits extension commands
|
|
|
|
|
|
|
|
$ hg help
|
|
|
|
Mercurial Distributed SCM
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
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.
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Get the latest commits from the server:
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
pull pull changes from the specified source
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
View commits:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
show show commit in detail
|
|
|
|
diff show differences between commits
|
|
|
|
|
|
|
|
Check out a commit:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
checkout check out a specific commit
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Work with your checkout:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Commit changes and modify commits:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
commit save all pending changes or specified files in a new commit
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Rearrange commits:
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
graft copy commits from a different location
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-10-30 17:58:06 +03:00
|
|
|
Undo changes:
|
|
|
|
|
|
|
|
uncommit uncommit part or all of the current commit
|
|
|
|
|
2018-10-17 19:56:04 +03:00
|
|
|
Other commands:
|
2018-10-15 19:35:15 +03:00
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
config show config settings
|
2018-10-26 00:42:34 +03:00
|
|
|
grep search for a pattern in tracked files in the working directory
|
2018-10-15 19:35:15 +03:00
|
|
|
|
|
|
|
Additional help topics:
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
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-08-27 18:25:47 +04:00
|
|
|
|
2011-04-05 08:40:47 +04:00
|
|
|
|
2014-03-15 19:14:04 +04:00
|
|
|
Test list of internal help commands
|
|
|
|
|
|
|
|
$ hg help debug
|
2018-10-15 19:35:15 +03:00
|
|
|
Debug commands (internal and unsupported):
|
2014-03-15 19:14:04 +04:00
|
|
|
|
|
|
|
debugancestor
|
|
|
|
find the ancestor revision of two revisions in a given index
|
2015-10-15 23:43:18 +03:00
|
|
|
debugapplystreamclonebundle
|
|
|
|
apply a stream clone bundle file
|
2014-03-15 19:14:04 +04:00
|
|
|
debugbuilddag
|
|
|
|
builds a repo with a given DAG from scratch in the current
|
|
|
|
empty repo
|
|
|
|
debugbundle lists the contents of a bundle
|
2017-10-30 19:08:16 +03:00
|
|
|
debugcapabilities
|
|
|
|
lists the capabilities of a remote peer
|
2018-05-27 14:51:52 +03:00
|
|
|
debugcheckcasecollisions
|
|
|
|
check for case collisions against a commit
|
2014-03-15 19:14:04 +04:00
|
|
|
debugcheckstate
|
|
|
|
validate the correctness of the current dirstate
|
2017-02-21 20:41:37 +03:00
|
|
|
debugcolor show available color, effects or style
|
2014-03-15 19:14:04 +04:00
|
|
|
debugcommands
|
|
|
|
list all available commands and options
|
|
|
|
debugcomplete
|
|
|
|
returns the completion list associated with the given command
|
2015-10-17 21:40:29 +03:00
|
|
|
debugcreatestreamclonebundle
|
|
|
|
create a stream clone bundle file
|
2014-03-15 19:14:04 +04:00
|
|
|
debugdag format the changelog or an index DAG as a concise textual
|
|
|
|
description
|
|
|
|
debugdata dump the contents of a data file revision
|
|
|
|
debugdate parse and display a date
|
2015-12-06 10:37:46 +03:00
|
|
|
debugdeltachain
|
|
|
|
dump information about delta chains in a revlog
|
2014-03-15 19:14:04 +04:00
|
|
|
debugdirstate
|
|
|
|
show the contents of the current dirstate
|
|
|
|
debugdiscovery
|
|
|
|
runs the changeset discovery protocol in isolation
|
2018-01-30 04:19:34 +03:00
|
|
|
debugdrawdag read an ASCII graph from stdin and create changesets
|
2019-01-17 06:39:41 +03:00
|
|
|
debugedenimporthelper
|
|
|
|
Obtain data for edenfs
|
2015-09-10 17:53:07 +03:00
|
|
|
debugextensions
|
|
|
|
show information about active extensions
|
2018-02-07 01:18:14 +03:00
|
|
|
debugfilerevision
|
|
|
|
dump internal metadata for given file revisions
|
2014-03-15 19:14:04 +04:00
|
|
|
debugfileset parse and apply a fileset specification
|
2017-12-07 18:19:46 +03:00
|
|
|
debugformat display format information about the current repository
|
2014-03-15 19:14:04 +04:00
|
|
|
debugfsinfo show information detected about current filesystem
|
|
|
|
debuggetbundle
|
|
|
|
retrieves a bundle from a repo
|
2016-01-05 18:47:08 +03:00
|
|
|
debugignore display the combined ignore pattern and information about
|
|
|
|
ignored files
|
2014-03-15 19:14:04 +04:00
|
|
|
debugindex dump the contents of an index file
|
|
|
|
debugindexdot
|
|
|
|
dump an index DAG as a graphviz dot file
|
|
|
|
debuginstall test Mercurial installation
|
|
|
|
debugknown test whether node ids are known to a repo
|
2014-09-27 01:44:11 +04:00
|
|
|
debuglocks show or modify state of locks
|
2015-10-02 23:00:47 +03:00
|
|
|
debugmergestate
|
|
|
|
print merge state
|
2018-12-13 21:41:51 +03:00
|
|
|
debugmutation
|
|
|
|
display the mutation history of a commit
|
2014-10-18 00:41:29 +04:00
|
|
|
debugnamecomplete
|
|
|
|
complete "names" - tags, open branch names, bookmark names
|
2014-03-15 19:14:04 +04:00
|
|
|
debugobsolete
|
|
|
|
create arbitrary obsolete marker
|
2016-11-01 17:50:45 +03:00
|
|
|
debugoptADV (no help text available)
|
2014-03-15 19:14:04 +04:00
|
|
|
debugoptDEP (no help text available)
|
2015-04-28 01:12:41 +03:00
|
|
|
debugoptEXP (no help text available)
|
2014-03-15 19:14:04 +04:00
|
|
|
debugpathcomplete
|
|
|
|
complete part or all of a tracked path
|
2017-05-12 21:37:50 +03:00
|
|
|
debugpickmergetool
|
|
|
|
examine which merge tool is chosen for specified file
|
2018-08-23 07:26:48 +03:00
|
|
|
debugprocesstree
|
|
|
|
show process tree related to hg
|
2018-03-12 18:02:12 +03:00
|
|
|
debugprogress
|
2018-10-15 19:35:15 +03:00
|
|
|
(no help text available)
|
2014-03-15 19:14:04 +04:00
|
|
|
debugpushkey access the pushkey key/value protocol
|
|
|
|
debugpvec (no help text available)
|
|
|
|
debugrebuilddirstate
|
|
|
|
rebuild the dirstate as it would look like for the given
|
|
|
|
revision
|
2015-06-22 19:59:48 +03:00
|
|
|
debugrebuildfncache
|
|
|
|
rebuild the fncache file
|
2014-03-15 19:14:04 +04:00
|
|
|
debugrename dump rename information
|
|
|
|
debugrevlog show data and statistics about a revlog
|
|
|
|
debugrevspec parse and apply a revision specification
|
|
|
|
debugsetparents
|
|
|
|
manually set the parents of the current working directory
|
2018-01-17 23:54:24 +03:00
|
|
|
debugshell (no help text available)
|
2017-03-30 07:27:46 +03:00
|
|
|
debugssl test a secure connection to a server
|
2018-12-13 20:05:15 +03:00
|
|
|
debugstatus common performance issues for status
|
2014-03-15 19:14:04 +04:00
|
|
|
debugsub (no help text available)
|
|
|
|
debugsuccessorssets
|
|
|
|
show set of successors for revision
|
2016-02-13 19:06:12 +03:00
|
|
|
debugtemplate
|
|
|
|
parse and apply a template
|
2018-10-10 13:49:30 +03:00
|
|
|
debugtreestate
|
|
|
|
manage treestate
|
2017-05-02 22:35:06 +03:00
|
|
|
debugupdatecaches
|
|
|
|
warm all known caches in the repository
|
debugcommands: stub for debugupgraderepo command
Currently, if Mercurial introduces a new repository/store feature or
changes behavior of an existing feature, users must perform an
`hg clone` to create a new repository with hopefully the
correct/optimal settings. Unfortunately, even `hg clone` may not
give the correct results. For example, if you do a local `hg clone`,
you may get hardlinks to revlog files that inherit the old state.
If you `hg clone` from a remote or `hg clone --pull`, changegroup
application may bypass some optimization, such as converting to
generaldelta.
Optimizing a repository is harder than it seems and requires more
than a simple `hg` command invocation.
This commit starts the process of changing that. We introduce
`hg debugupgraderepo`, a command that performs an in-place upgrade
of a repository to use new, optimal features. The command is just
a stub right now. Features will be added in subsequent commits.
This commit does foreshadow some of the behavior of the new command,
notably that it doesn't do anything by default and that it takes
arguments that influence what actions it performs. These will be
explained more in subsequent commits.
2016-11-25 03:24:09 +03:00
|
|
|
debugupgraderepo
|
|
|
|
upgrade a repository to use different features
|
2014-03-15 19:14:04 +04:00
|
|
|
debugwalk show how files match on given patterns
|
|
|
|
debugwireargs
|
|
|
|
(no help text available)
|
|
|
|
|
2015-12-13 21:35:03 +03:00
|
|
|
internals topic renders index of available sub-topics
|
|
|
|
|
|
|
|
$ hg help internals
|
|
|
|
Technical implementation topics
|
|
|
|
"""""""""""""""""""""""""""""""
|
|
|
|
|
2017-04-20 03:04:22 +03:00
|
|
|
To access a subtopic, use "hg help internals.{subtopic-name}"
|
|
|
|
|
2016-08-07 03:04:22 +03:00
|
|
|
bundles Bundles
|
2017-03-11 01:37:39 +03:00
|
|
|
censor Censor
|
2016-08-07 03:04:22 +03:00
|
|
|
changegroups Changegroups
|
2017-11-01 23:34:22 +03:00
|
|
|
config Config Registrar
|
2016-08-07 03:04:22 +03:00
|
|
|
requirements Repository Requirements
|
|
|
|
revlogs Revision Logs
|
2016-08-23 05:46:39 +03:00
|
|
|
wireprotocol Wire Protocol
|
2011-04-05 08:40:47 +04:00
|
|
|
|
2015-12-13 22:19:55 +03:00
|
|
|
sub-topics can be accessed
|
|
|
|
|
|
|
|
$ hg help internals.changegroups
|
2016-08-07 03:04:22 +03:00
|
|
|
Changegroups
|
|
|
|
""""""""""""
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
Changegroups are representations of repository revlog data, specifically
|
2017-03-02 05:37:34 +03:00
|
|
|
the changelog data, root/flat manifest data, treemanifest data, and
|
|
|
|
filelogs.
|
2015-12-13 22:19:55 +03:00
|
|
|
|
2015-12-18 17:57:35 +03:00
|
|
|
There are 3 versions of changegroups: "1", "2", and "3". From a high-
|
|
|
|
level, versions "1" and "2" are almost exactly the same, with the only
|
2017-03-02 05:37:34 +03:00
|
|
|
difference being an additional item in the *delta header*. Version "3"
|
|
|
|
adds support for revlog flags in the *delta header* and optionally
|
|
|
|
exchanging treemanifests (enabled by setting an option on the
|
|
|
|
"changegroup" part in the bundle2).
|
2015-12-13 22:19:55 +03:00
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
Changegroups when not exchanging treemanifests consist of 3 logical
|
|
|
|
segments:
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
+---------------------------------+
|
|
|
|
| | | |
|
|
|
|
| changeset | manifest | filelogs |
|
|
|
|
| | | |
|
2017-03-02 05:37:34 +03:00
|
|
|
| | | |
|
2015-12-13 22:19:55 +03:00
|
|
|
+---------------------------------+
|
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
When exchanging treemanifests, there are 4 logical segments:
|
|
|
|
|
|
|
|
+-------------------------------------------------+
|
|
|
|
| | | | |
|
|
|
|
| changeset | root | treemanifests | filelogs |
|
|
|
|
| | manifest | | |
|
|
|
|
| | | | |
|
|
|
|
+-------------------------------------------------+
|
|
|
|
|
2015-12-13 22:19:55 +03:00
|
|
|
The principle building block of each segment is a *chunk*. A *chunk* is a
|
|
|
|
framed piece of data:
|
|
|
|
|
|
|
|
+---------------------------------------+
|
|
|
|
| | |
|
|
|
|
| length | data |
|
2017-03-02 05:37:34 +03:00
|
|
|
| (4 bytes) | (<length - 4> bytes) |
|
2015-12-13 22:19:55 +03:00
|
|
|
| | |
|
|
|
|
+---------------------------------------+
|
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
All integers are big-endian signed integers. Each chunk starts with a
|
|
|
|
32-bit integer indicating the length of the entire chunk (including the
|
|
|
|
length field itself).
|
2015-12-13 22:19:55 +03:00
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
There is a special case chunk that has a value of 0 for the length
|
|
|
|
("0x00000000"). We call this an *empty chunk*.
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
Delta Groups
|
2016-08-07 03:04:22 +03:00
|
|
|
============
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
A *delta group* expresses the content of a revlog as a series of deltas,
|
|
|
|
or patches against previous revisions.
|
|
|
|
|
|
|
|
Delta groups consist of 0 or more *chunks* followed by the *empty chunk*
|
|
|
|
to signal the end of the delta group:
|
|
|
|
|
|
|
|
+------------------------------------------------------------------------+
|
|
|
|
| | | | | |
|
|
|
|
| chunk0 length | chunk0 data | chunk1 length | chunk1 data | 0x0 |
|
2017-03-02 05:37:34 +03:00
|
|
|
| (4 bytes) | (various) | (4 bytes) | (various) | (4 bytes) |
|
2015-12-13 22:19:55 +03:00
|
|
|
| | | | | |
|
2017-03-02 05:37:34 +03:00
|
|
|
+------------------------------------------------------------------------+
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
Each *chunk*'s data consists of the following:
|
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
+---------------------------------------+
|
|
|
|
| | |
|
|
|
|
| delta header | delta data |
|
|
|
|
| (various by version) | (various) |
|
|
|
|
| | |
|
|
|
|
+---------------------------------------+
|
2015-12-13 22:19:55 +03:00
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
The *delta data* is a series of *delta*s that describe a diff from an
|
|
|
|
existing entry (either that the recipient already has, or previously
|
2017-05-04 05:07:47 +03:00
|
|
|
specified in the bundle/changegroup).
|
2015-12-13 22:19:55 +03:00
|
|
|
|
2015-12-18 17:57:35 +03:00
|
|
|
The *delta header* is different between versions "1", "2", and "3" of the
|
2015-12-13 22:19:55 +03:00
|
|
|
changegroup format.
|
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
Version 1 (headerlen=80):
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
+------------------------------------------------------+
|
|
|
|
| | | | |
|
|
|
|
| node | p1 node | p2 node | link node |
|
|
|
|
| (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
|
|
|
|
| | | | |
|
|
|
|
+------------------------------------------------------+
|
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
Version 2 (headerlen=100):
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
+------------------------------------------------------------------+
|
|
|
|
| | | | | |
|
|
|
|
| node | p1 node | p2 node | base node | link node |
|
|
|
|
| (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
|
|
|
|
| | | | | |
|
|
|
|
+------------------------------------------------------------------+
|
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
Version 3 (headerlen=102):
|
2015-12-18 17:57:35 +03:00
|
|
|
|
|
|
|
+------------------------------------------------------------------------------+
|
|
|
|
| | | | | | |
|
2017-03-02 05:37:34 +03:00
|
|
|
| node | p1 node | p2 node | base node | link node | flags |
|
2015-12-18 17:57:35 +03:00
|
|
|
| (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (2 bytes) |
|
|
|
|
| | | | | | |
|
|
|
|
+------------------------------------------------------------------------------+
|
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
The *delta data* consists of "chunklen - 4 - headerlen" bytes, which
|
|
|
|
contain a series of *delta*s, densely packed (no separators). These deltas
|
|
|
|
describe a diff from an existing entry (either that the recipient already
|
|
|
|
has, or previously specified in the bundle/changegroup). The format is
|
|
|
|
described more fully in "hg help internals.bdiff", but briefly:
|
2015-12-13 22:19:55 +03:00
|
|
|
|
2017-03-09 06:55:48 +03:00
|
|
|
+---------------------------------------------------------------+
|
|
|
|
| | | | |
|
|
|
|
| start offset | end offset | new length | content |
|
|
|
|
| (4 bytes) | (4 bytes) | (4 bytes) | (<new length> bytes) |
|
|
|
|
| | | | |
|
|
|
|
+---------------------------------------------------------------+
|
2017-03-02 05:37:34 +03:00
|
|
|
|
|
|
|
Please note that the length field in the delta data does *not* include
|
|
|
|
itself.
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
In version 1, the delta is always applied against the previous node from
|
|
|
|
the changegroup or the first parent if this is the first entry in the
|
|
|
|
changegroup.
|
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
In version 2 and up, the delta base node is encoded in the entry in the
|
2015-12-13 22:19:55 +03:00
|
|
|
changegroup. This allows the delta to be expressed against any parent,
|
|
|
|
which can result in smaller deltas and more efficient encoding of data.
|
|
|
|
|
|
|
|
Changeset Segment
|
2016-08-07 03:04:22 +03:00
|
|
|
=================
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
The *changeset segment* consists of a single *delta group* holding
|
2017-03-02 05:37:34 +03:00
|
|
|
changelog data. The *empty chunk* at the end of the *delta group* denotes
|
|
|
|
the boundary to the *manifest segment*.
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
Manifest Segment
|
2016-08-07 03:04:22 +03:00
|
|
|
================
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
The *manifest segment* consists of a single *delta group* holding manifest
|
2017-03-02 05:37:34 +03:00
|
|
|
data. If treemanifests are in use, it contains only the manifest for the
|
|
|
|
root directory of the repository. Otherwise, it contains the entire
|
|
|
|
manifest data. The *empty chunk* at the end of the *delta group* denotes
|
|
|
|
the boundary to the next segment (either the *treemanifests segment* or
|
|
|
|
the *filelogs segment*, depending on version and the request options).
|
|
|
|
|
|
|
|
Treemanifests Segment
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
The *treemanifests segment* only exists in changegroup version "3", and
|
|
|
|
only if the 'treemanifest' param is part of the bundle2 changegroup part
|
|
|
|
(it is not possible to use changegroup version 3 outside of bundle2).
|
|
|
|
Aside from the filenames in the *treemanifests segment* containing a
|
|
|
|
trailing "/" character, it behaves identically to the *filelogs segment*
|
|
|
|
(see below). The final sub-segment is followed by an *empty chunk*
|
|
|
|
(logically, a sub-segment with filename size 0). This denotes the boundary
|
|
|
|
to the *filelogs segment*.
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
Filelogs Segment
|
2016-08-07 03:04:22 +03:00
|
|
|
================
|
2015-12-13 22:19:55 +03:00
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
The *filelogs segment* consists of multiple sub-segments, each
|
2015-12-13 22:19:55 +03:00
|
|
|
corresponding to an individual file whose data is being described:
|
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
+--------------------------------------------------+
|
|
|
|
| | | | | |
|
|
|
|
| filelog0 | filelog1 | filelog2 | ... | 0x0 |
|
|
|
|
| | | | | (4 bytes) |
|
|
|
|
| | | | | |
|
|
|
|
+--------------------------------------------------+
|
2015-12-18 17:57:35 +03:00
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
The final filelog sub-segment is followed by an *empty chunk* (logically,
|
|
|
|
a sub-segment with filename size 0). This denotes the end of the segment
|
|
|
|
and of the overall changegroup.
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
Each filelog sub-segment consists of the following:
|
|
|
|
|
2017-03-02 05:37:34 +03:00
|
|
|
+------------------------------------------------------+
|
|
|
|
| | | |
|
|
|
|
| filename length | filename | delta group |
|
|
|
|
| (4 bytes) | (<length - 4> bytes) | (various) |
|
|
|
|
| | | |
|
|
|
|
+------------------------------------------------------+
|
2015-12-13 22:19:55 +03:00
|
|
|
|
|
|
|
That is, a *chunk* consisting of the filename (not terminated or padded)
|
2017-03-02 05:37:34 +03:00
|
|
|
followed by N chunks constituting the *delta group* for this file. The
|
|
|
|
*empty chunk* at the end of each *delta group* denotes the boundary to the
|
|
|
|
next filelog sub-segment.
|
2015-12-13 22:19:55 +03:00
|
|
|
|
2010-08-27 18:25:47 +04:00
|
|
|
Test list of commands with command with no help text
|
|
|
|
|
|
|
|
$ hg help helpext
|
|
|
|
helpext extension - no help text available
|
|
|
|
|
2018-10-15 19:35:15 +03:00
|
|
|
Commands:
|
2010-08-27 18:25:47 +04:00
|
|
|
|
help: format command and option list help using RST
This patch changes the function which generates help text about commands and
options to use RST formatting. Tables describing options have been formatted
using RST table markup for some time already, so their appearance does not
change. Command lists, however, change appearance.
To format non-verbose command lists, RST field list markup was chosen, because
it resembles the old format:
<http://docutils.sourceforge.net/docs/user/rst/quickref.html#field-lists>
In the old (hand-coded) format of non-verbose command lists, the left column is
12 characters wide. Our minirst implementation formats field lists with a left
column 14 characters wide, so this patch changes the appearance of help output
correspondingly:
<http://markmail.org/message/krl4cxopsnii7s6z?q=mercurial+reinert+from:%22Olav+Reinert%22&page=2>
The minirst markup most closely resembling the old verbose command lists is
definition lists. But using it would cause a blank line to be inserted between
each command definition, making the output excessively long, and no more
useful than before. To avoid this, I chose to use field lists also for verbose
command help, resulting in output like this example:
add add the specified files on the next commit
annotate, blame
show changeset information by line for each file
clone make a copy of an existing repository
commit, ci commit the specified files or all outstanding changes
diff diff repository (or selected files)
export dump the header and diffs for one or more changesets
forget forget the specified files on the next commit
init create a new repository in the given directory
log, history show revision history of entire repository or files
merge merge working directory with another revision
phase set or show the current phase name
pull pull changes from the specified source
push push changes to the specified destination
qdiff diff of the current patch and subsequent modifications
qinit init a new queue repository (DEPRECATED)
qnew create a new patch
qpop pop the current patch off the stack
qpush push the next patch onto the stack
qrefresh update the current patch
remove, rm remove the specified files on the next commit
serve start stand-alone webserver
status, st show changed files in the working directory
summary, sum summarize working directory state
update, up, checkout, co
update working directory (or switch revisions)
This change is a move towards generating all help text as a list of strings
marked up with RST.
2012-06-02 13:25:40 +04:00
|
|
|
nohelp (no help text available)
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2014-02-17 10:39:53 +04:00
|
|
|
|
2016-11-01 17:50:45 +03:00
|
|
|
test advanced, deprecated and experimental options are hidden in command help
|
|
|
|
$ hg help debugoptADV
|
|
|
|
hg debugoptADV
|
|
|
|
|
|
|
|
(no help text available)
|
|
|
|
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
2014-02-17 10:39:53 +04:00
|
|
|
$ hg help debugoptDEP
|
|
|
|
hg debugoptDEP
|
|
|
|
|
|
|
|
(no help text available)
|
|
|
|
|
2014-08-12 12:01:37 +04:00
|
|
|
(some details hidden, use --verbose to show complete help)
|
2014-02-17 10:39:53 +04:00
|
|
|
|
2015-04-28 01:12:41 +03:00
|
|
|
$ hg help debugoptEXP
|
|
|
|
hg debugoptEXP
|
|
|
|
|
|
|
|
(no help text available)
|
|
|
|
|
|
|
|
(some details hidden, use --verbose to show complete help)
|
|
|
|
|
2016-11-01 17:50:45 +03:00
|
|
|
test advanced, deprecated and experimental options are shown with -v
|
|
|
|
$ hg help -v debugoptADV | grep aopt
|
|
|
|
--aopt option is (ADVANCED)
|
2014-02-17 10:39:53 +04:00
|
|
|
$ hg help -v debugoptDEP | grep dopt
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
--dopt option is (DEPRECATED)
|
2015-04-28 01:12:41 +03:00
|
|
|
$ hg help -v debugoptEXP | grep eopt
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
--eopt option is (EXPERIMENTAL)
|
2014-02-17 10:39:53 +04:00
|
|
|
|
2018-02-02 23:17:46 +03:00
|
|
|
#if gettext normal-layout
|
2014-02-17 10:39:53 +04:00
|
|
|
test deprecated option is hidden with translation with untranslated description
|
|
|
|
(use many globy for not failing on changed transaction)
|
|
|
|
$ LANGUAGE=sv hg help debugoptDEP
|
|
|
|
hg debugoptDEP
|
|
|
|
|
|
|
|
(*) (glob)
|
|
|
|
|
2014-08-12 12:01:37 +04:00
|
|
|
(some details hidden, use --verbose to show complete help)
|
2014-04-16 01:51:27 +04:00
|
|
|
#endif
|
2014-02-17 10:39:53 +04:00
|
|
|
|
2014-07-31 23:31:31 +04:00
|
|
|
Test commands that collide with topics (issue4240)
|
|
|
|
|
|
|
|
$ hg config -hq
|
|
|
|
hg config [-u] [NAME]...
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
show config settings
|
2014-07-31 23:31:31 +04:00
|
|
|
$ hg showconfig -hq
|
|
|
|
hg config [-u] [NAME]...
|
|
|
|
|
2018-11-08 06:57:38 +03:00
|
|
|
show config settings
|
2014-07-31 23:31:31 +04:00
|
|
|
|
2010-08-27 18:25:47 +04:00
|
|
|
Test a help topic
|
|
|
|
|
2017-01-11 22:40:40 +03:00
|
|
|
$ hg help dates
|
|
|
|
Date Formats
|
|
|
|
""""""""""""
|
|
|
|
|
|
|
|
Some commands allow the user to specify a date, e.g.:
|
|
|
|
|
|
|
|
- backout, commit, import, tag: Specify the commit date.
|
|
|
|
- log, revert, update: Select revision(s) by date.
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2017-01-11 22:40:40 +03:00
|
|
|
Many date formats are valid. Here are some examples:
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2017-01-11 22:40:40 +03:00
|
|
|
- "Wed Dec 6 13:18:29 2006" (local timezone assumed)
|
|
|
|
- "Dec 6 13:18 -0600" (year assumed, time offset provided)
|
|
|
|
- "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000)
|
|
|
|
- "Dec 6" (midnight)
|
|
|
|
- "13:18" (today assumed)
|
|
|
|
- "3:39" (3:39AM assumed)
|
|
|
|
- "3:39pm" (15:39)
|
|
|
|
- "2006-12-06 13:18:29" (ISO 8601 format)
|
|
|
|
- "2006-12-6 13:18"
|
|
|
|
- "2006-12-6"
|
|
|
|
- "12-6"
|
|
|
|
- "12/6"
|
|
|
|
- "12/6/6" (Dec 6 2006)
|
|
|
|
- "today" (midnight)
|
|
|
|
- "yesterday" (midnight)
|
|
|
|
- "now" - right now
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2017-01-11 22:40:40 +03:00
|
|
|
Lastly, there is Mercurial's internal format:
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2017-01-11 22:40:40 +03:00
|
|
|
- "1165411109 0" (Wed Dec 6 13:18:29 2006 UTC)
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2017-01-11 22:40:40 +03:00
|
|
|
This is the internal representation format for dates. The first number is
|
|
|
|
the number of seconds since the epoch (1970-01-01 00:00 UTC). The second
|
|
|
|
is the offset of the local timezone, in seconds west of UTC (negative if
|
|
|
|
the timezone is east of UTC).
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2017-01-11 22:40:40 +03:00
|
|
|
The log command also accepts date ranges:
|
2010-08-27 18:25:47 +04:00
|
|
|
|
2017-01-11 22:40:40 +03:00
|
|
|
- "<DATE" - at or before a given date/time
|
|
|
|
- ">DATE" - on or after a given date/time
|
|
|
|
- "DATE to DATE" - a date range, inclusive
|
|
|
|
- "-DAYS" - within a given number of days of today
|
2010-10-23 21:21:49 +04:00
|
|
|
|
2015-08-31 02:03:38 +03:00
|
|
|
Test repeated config section name
|
|
|
|
|
|
|
|
$ hg help config.host
|
|
|
|
"http_proxy.host"
|
|
|
|
Host name and (optional) port of the proxy server, for example
|
|
|
|
"myproxy:8000".
|
|
|
|
|
|
|
|
"smtp.host"
|
|
|
|
Host name of mail server, e.g. "mail.example.com".
|
|
|
|
|
2015-09-04 00:06:27 +03:00
|
|
|
Unrelated trailing paragraphs shouldn't be included
|
|
|
|
|
|
|
|
$ hg help config.extramsg | grep '^$'
|
|
|
|
|
|
|
|
|
2015-09-03 06:50:45 +03:00
|
|
|
Test capitalized section name
|
|
|
|
|
|
|
|
$ hg help scripting.HGPLAIN > /dev/null
|
|
|
|
|
2015-09-02 22:12:08 +03:00
|
|
|
Help subsection:
|
|
|
|
|
|
|
|
$ hg help config.charsets |grep "Email example:" > /dev/null
|
|
|
|
[1]
|
|
|
|
|
2015-09-10 17:48:20 +03:00
|
|
|
Show nested definitions
|
|
|
|
("profiling.type"[break]"ls"[break]"stat"[break])
|
|
|
|
|
|
|
|
$ hg help config.type | egrep '^$'|wc -l
|
|
|
|
\s*3 (re)
|
|
|
|
|
2016-01-01 19:59:13 +03:00
|
|
|
Separate sections from subsections
|
|
|
|
|
|
|
|
$ hg help config.format | egrep '^ ("|-)|^\s*$' | uniq
|
|
|
|
"format"
|
|
|
|
--------
|
|
|
|
|
|
|
|
"usegeneraldelta"
|
|
|
|
|
|
|
|
"dotencode"
|
|
|
|
|
|
|
|
"usefncache"
|
|
|
|
|
|
|
|
"usestore"
|
|
|
|
|
2018-06-14 03:49:29 +03:00
|
|
|
"dirstate"
|
2018-06-11 23:49:45 +03:00
|
|
|
|
2018-01-03 21:13:17 +03:00
|
|
|
"uselz4"
|
|
|
|
|
2018-03-07 00:20:16 +03:00
|
|
|
"cgdeltabase"
|
|
|
|
|
2016-01-01 19:59:13 +03:00
|
|
|
"profiling"
|
|
|
|
-----------
|
|
|
|
|
|
|
|
"format"
|
|
|
|
|
|
|
|
"progress"
|
|
|
|
----------
|
|
|
|
|
|
|
|
"format"
|
|
|
|
|
|
|
|
|
2015-09-02 22:12:08 +03:00
|
|
|
Last item in help config.*:
|
|
|
|
|
|
|
|
$ hg help config.`hg help config|grep '^ "'| \
|
|
|
|
> tail -1|sed 's![ "]*!!g'`| \
|
2016-09-21 02:49:20 +03:00
|
|
|
> grep 'hg help -c config' > /dev/null
|
2015-09-02 22:12:08 +03:00
|
|
|
[1]
|
|
|
|
|
|
|
|
note to use help -c for general hg help config:
|
|
|
|
|
2016-09-21 02:49:20 +03:00
|
|
|
$ hg help config |grep 'hg help -c config' > /dev/null
|
2015-09-02 22:12:08 +03:00
|
|
|
|
2011-03-12 14:46:31 +03:00
|
|
|
Test templating help
|
|
|
|
|
|
|
|
$ hg help templating | egrep '(desc|diffstat|firstline|nonempty) '
|
2012-01-11 21:08:25 +04:00
|
|
|
desc String. The text of the changeset description.
|
|
|
|
diffstat String. Statistics of changes with the following format:
|
|
|
|
firstline Any text. Returns the first line of text.
|
|
|
|
nonempty Any text. Returns '(none)' if the string is empty.
|
2011-03-12 14:46:31 +03:00
|
|
|
|
2015-09-26 06:17:44 +03:00
|
|
|
Test deprecated items
|
|
|
|
|
|
|
|
$ hg help -v templating | grep currentbookmark
|
|
|
|
currentbookmark
|
|
|
|
$ hg help templating | (grep currentbookmark || true)
|
|
|
|
|
2010-10-23 21:21:49 +04:00
|
|
|
Test help hooks
|
|
|
|
|
|
|
|
$ cat > helphook1.py <<EOF
|
2019-01-30 03:25:33 +03:00
|
|
|
> from edenscm.mercurial import help
|
2010-10-23 21:21:49 +04:00
|
|
|
>
|
2015-09-26 06:11:46 +03:00
|
|
|
> def rewrite(ui, topic, doc):
|
2010-10-23 21:21:49 +04:00
|
|
|
> return doc + '\nhelphook1\n'
|
|
|
|
>
|
|
|
|
> def extsetup(ui):
|
2017-01-11 22:37:38 +03:00
|
|
|
> help.addtopichook('revisions', rewrite)
|
2010-10-23 21:21:49 +04:00
|
|
|
> EOF
|
|
|
|
$ cat > helphook2.py <<EOF
|
2019-01-30 03:25:33 +03:00
|
|
|
> from edenscm.mercurial import help
|
2010-10-23 21:21:49 +04:00
|
|
|
>
|
2015-09-26 06:11:46 +03:00
|
|
|
> def rewrite(ui, topic, doc):
|
2010-10-23 21:21:49 +04:00
|
|
|
> return doc + '\nhelphook2\n'
|
|
|
|
>
|
|
|
|
> def extsetup(ui):
|
2017-01-11 22:37:38 +03:00
|
|
|
> help.addtopichook('revisions', rewrite)
|
2010-10-23 21:21:49 +04:00
|
|
|
> EOF
|
|
|
|
$ echo '[extensions]' >> $HGRCPATH
|
|
|
|
$ echo "helphook1 = `pwd`/helphook1.py" >> $HGRCPATH
|
|
|
|
$ echo "helphook2 = `pwd`/helphook2.py" >> $HGRCPATH
|
|
|
|
$ hg help revsets | grep helphook
|
|
|
|
helphook1
|
|
|
|
helphook2
|
2012-06-07 03:42:50 +04:00
|
|
|
|
2015-12-09 22:09:35 +03:00
|
|
|
help -c should only show debug --debug
|
|
|
|
|
2015-12-09 08:56:54 +03:00
|
|
|
$ hg help -c --debug|egrep debug|wc -l|egrep '^\s*0\s*$'
|
2015-12-09 22:09:35 +03:00
|
|
|
[1]
|
|
|
|
|
|
|
|
help -c should only show deprecated for -v
|
|
|
|
|
2015-12-09 08:56:54 +03:00
|
|
|
$ hg help -c -v|egrep DEPRECATED|wc -l|egrep '^\s*0\s*$'
|
2015-12-09 22:09:35 +03:00
|
|
|
[1]
|
|
|
|
|
2016-01-10 11:03:58 +03:00
|
|
|
Test -s / --system
|
|
|
|
|
|
|
|
$ hg help config.files -s windows |grep 'etc/mercurial' | \
|
|
|
|
> wc -l | sed -e 's/ //g'
|
|
|
|
0
|
|
|
|
$ hg help config.files --system unix | grep 'USER' | \
|
|
|
|
> wc -l | sed -e 's/ //g'
|
|
|
|
0
|
|
|
|
|
2015-09-11 03:22:37 +03:00
|
|
|
Test -e / -c / -k combinations
|
|
|
|
|
2015-12-14 09:00:32 +03:00
|
|
|
$ hg help -c|egrep '^[A-Z].*:|^ debug'
|
2015-12-09 08:56:54 +03:00
|
|
|
Commands:
|
2015-12-14 09:00:32 +03:00
|
|
|
$ hg help -e|egrep '^[A-Z].*:|^ debug'
|
2015-12-09 08:56:54 +03:00
|
|
|
Extensions:
|
2018-10-21 05:06:59 +03:00
|
|
|
debugcommitmessage (no help text available)
|
|
|
|
debugshell a python shell with repo, changelog & manifest objects
|
2015-12-14 08:29:55 +03:00
|
|
|
$ hg help -k|egrep '^[A-Z].*:|^ debug'
|
2015-12-09 08:56:54 +03:00
|
|
|
Topics:
|
|
|
|
Commands:
|
|
|
|
Extensions:
|
2018-10-21 05:06:59 +03:00
|
|
|
debugcommitmessage (no help text available)
|
|
|
|
debugshell a python shell with repo, changelog & manifest objects
|
2015-12-09 08:56:54 +03:00
|
|
|
Extension Commands:
|
2015-11-27 17:10:48 +03:00
|
|
|
$ hg help -c schemes
|
|
|
|
abort: no such help topic: schemes
|
2016-09-21 02:47:46 +03:00
|
|
|
(try 'hg help --keyword schemes')
|
2015-09-11 03:22:37 +03:00
|
|
|
[255]
|
2015-11-27 17:10:48 +03:00
|
|
|
$ hg help -e schemes |head -1
|
|
|
|
schemes extension - extend schemes with shortcuts to repository swarms
|
2015-09-11 03:22:37 +03:00
|
|
|
$ hg help -c -k dates |egrep '^(Topics|Extensions|Commands):'
|
|
|
|
Commands:
|
|
|
|
$ hg help -e -k a |egrep '^(Topics|Extensions|Commands):'
|
|
|
|
Extensions:
|
|
|
|
$ hg help -e -c -k date |egrep '^(Topics|Extensions|Commands):'
|
|
|
|
Extensions:
|
|
|
|
Commands:
|
|
|
|
$ hg help -c commit > /dev/null
|
|
|
|
$ hg help -e -c commit > /dev/null
|
|
|
|
$ hg help -e commit > /dev/null
|
|
|
|
abort: no such help topic: commit
|
2016-09-21 02:47:46 +03:00
|
|
|
(try 'hg help --keyword commit')
|
2015-09-11 03:22:37 +03:00
|
|
|
[255]
|
|
|
|
|
2012-06-07 03:42:50 +04:00
|
|
|
Test keyword search help
|
|
|
|
|
2013-09-23 15:23:25 +04:00
|
|
|
$ cat > prefixedname.py <<EOF
|
|
|
|
> '''matched against word "clone"
|
|
|
|
> '''
|
|
|
|
> EOF
|
|
|
|
$ echo '[extensions]' >> $HGRCPATH
|
|
|
|
$ echo "dot.dot.prefixedname = `pwd`/prefixedname.py" >> $HGRCPATH
|
2012-06-07 03:42:50 +04:00
|
|
|
$ hg help -k clone
|
|
|
|
Topics:
|
|
|
|
|
|
|
|
config Configuration Files
|
|
|
|
extensions Using Additional Features
|
2018-11-08 06:57:38 +03:00
|
|
|
glossary Common Terms
|
2012-06-07 03:42:50 +04:00
|
|
|
phases Working with Phases
|
2012-08-01 16:59:15 +04:00
|
|
|
subrepos Subrepositories
|
2012-06-07 03:42:50 +04:00
|
|
|
urls URL Paths
|
|
|
|
|
|
|
|
Commands:
|
|
|
|
|
2015-12-09 22:09:35 +03:00
|
|
|
bookmarks create a new bookmark or list existing bookmarks
|
|
|
|
clone make a copy of an existing repository
|
|
|
|
paths show aliases for remote repositories
|
2012-06-07 03:42:50 +04:00
|
|
|
|
|
|
|
Extensions:
|
|
|
|
|
2016-01-08 21:58:04 +03:00
|
|
|
clonebundles advertise pre-generated bundles to seed clones
|
2013-09-23 15:23:25 +04:00
|
|
|
prefixedname matched against word "clone"
|
2012-06-07 03:42:50 +04:00
|
|
|
|
2014-04-17 03:55:40 +04:00
|
|
|
Test unfound topic
|
|
|
|
|
|
|
|
$ hg help nonexistingtopicthatwillneverexisteverever
|
|
|
|
abort: no such help topic: nonexistingtopicthatwillneverexisteverever
|
2016-09-21 02:47:46 +03:00
|
|
|
(try 'hg help --keyword nonexistingtopicthatwillneverexisteverever')
|
2014-04-17 03:55:40 +04:00
|
|
|
[255]
|
|
|
|
|
2014-04-17 04:01:03 +04:00
|
|
|
Test unfound keyword
|
|
|
|
|
|
|
|
$ hg help --keyword nonexistingwordthatwillneverexisteverever
|
|
|
|
abort: no matches
|
2016-09-21 02:47:46 +03:00
|
|
|
(try 'hg help' for a list of topics)
|
2014-04-17 04:01:03 +04:00
|
|
|
[255]
|
|
|
|
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
Test omit indicating for help
|
|
|
|
|
|
|
|
$ cat > addverboseitems.py <<EOF
|
|
|
|
> '''extension to test omit indicating.
|
|
|
|
>
|
|
|
|
> This paragraph is never omitted (for extension)
|
|
|
|
>
|
|
|
|
> .. container:: verbose
|
|
|
|
>
|
|
|
|
> This paragraph is omitted,
|
2014-12-18 23:53:55 +03:00
|
|
|
> if :hg:\`help\` is invoked without \`\`-v\`\` (for extension)
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
>
|
|
|
|
> This paragraph is never omitted, too (for extension)
|
|
|
|
> '''
|
2017-08-22 22:51:30 +03:00
|
|
|
> from __future__ import absolute_import
|
2019-01-30 03:25:33 +03:00
|
|
|
> from edenscm.mercurial import commands, help
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
> testtopic = """This paragraph is never omitted (for topic).
|
|
|
|
>
|
|
|
|
> .. container:: verbose
|
|
|
|
>
|
|
|
|
> This paragraph is omitted,
|
2014-12-18 23:53:55 +03:00
|
|
|
> if :hg:\`help\` is invoked without \`\`-v\`\` (for topic)
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
>
|
|
|
|
> This paragraph is never omitted, too (for topic)
|
|
|
|
> """
|
|
|
|
> def extsetup(ui):
|
|
|
|
> help.helptable.append((["topic-containing-verbose"],
|
|
|
|
> "This is the topic to test omit indicating.",
|
2015-09-26 06:06:30 +03:00
|
|
|
> lambda ui: testtopic))
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
> EOF
|
|
|
|
$ echo '[extensions]' >> $HGRCPATH
|
|
|
|
$ echo "addverboseitems = `pwd`/addverboseitems.py" >> $HGRCPATH
|
|
|
|
$ hg help addverboseitems
|
|
|
|
addverboseitems extension - extension to test omit indicating.
|
|
|
|
|
|
|
|
This paragraph is never omitted (for extension)
|
|
|
|
|
|
|
|
This paragraph is never omitted, too (for extension)
|
|
|
|
|
2014-08-12 12:25:51 +04:00
|
|
|
(some details hidden, use --verbose to show complete help)
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
|
|
|
|
no commands defined
|
|
|
|
$ hg help -v addverboseitems
|
|
|
|
addverboseitems extension - extension to test omit indicating.
|
|
|
|
|
|
|
|
This paragraph is never omitted (for extension)
|
|
|
|
|
2016-01-12 09:03:36 +03:00
|
|
|
This paragraph is omitted, if 'hg help' is invoked without "-v" (for
|
2014-12-18 23:53:55 +03:00
|
|
|
extension)
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
|
|
|
|
This paragraph is never omitted, too (for extension)
|
|
|
|
|
|
|
|
no commands defined
|
|
|
|
$ hg help topic-containing-verbose
|
|
|
|
This is the topic to test omit indicating.
|
2013-02-10 15:58:57 +04:00
|
|
|
""""""""""""""""""""""""""""""""""""""""""
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
|
|
|
|
This paragraph is never omitted (for topic).
|
|
|
|
|
|
|
|
This paragraph is never omitted, too (for topic)
|
|
|
|
|
2014-08-12 12:25:51 +04:00
|
|
|
(some details hidden, use --verbose to show complete help)
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
$ hg help -v topic-containing-verbose
|
|
|
|
This is the topic to test omit indicating.
|
2013-02-10 15:58:57 +04:00
|
|
|
""""""""""""""""""""""""""""""""""""""""""
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
|
|
|
|
This paragraph is never omitted (for topic).
|
|
|
|
|
2016-01-12 09:03:36 +03:00
|
|
|
This paragraph is omitted, if 'hg help' is invoked without "-v" (for
|
2014-12-18 23:53:55 +03:00
|
|
|
topic)
|
help: indicate help omitting if help document is not fully displayed
Before this patch, there is no information about whether help document
is fully displayed or not.
So, some users seem to misunderstand "-v" for "hg help" just as "the
option to show list of global options": experience on "hg help -v" for
some commands not containing verbose containers may strengthen this
misunderstanding.
Such users have less opportunity for noticing omitted help document,
and this may cause insufficient understanding about Mercurial.
This patch indicates help omitting, if help document is not fully
displayed.
For command help, the message below is displayed at the end of help
output, if help document is not fully displayed:
use "hg -v help xxxx" to show more complete help and the global
options
and otherwise:
use "hg -v help xxxx" to show the global options
For topics and extensions help, the message below is displayed, only
if help document is not fully displayed:
use "hg help -v xxxx" to show more complete help
This allows users to know whether there is any omitted information or
not exactly, and can trigger "hg help -v" invocation.
This patch causes formatting help document twice, to switch messages
one for omitted help, and another for not omitted. This decreases
performance of help document formatting, but it is not mainly focused
at help command invocation, so this wouldn't become problem.
2012-10-18 05:31:15 +04:00
|
|
|
|
|
|
|
This paragraph is never omitted, too (for topic)
|
|
|
|
|
2014-10-01 01:40:10 +04:00
|
|
|
Test section lookup
|
|
|
|
|
|
|
|
$ hg help revset.merge
|
|
|
|
"merge()"
|
|
|
|
Changeset is a merge changeset.
|
|
|
|
|
|
|
|
$ hg help glossary.dag
|
|
|
|
DAG
|
|
|
|
The repository of changesets of a distributed version control system
|
|
|
|
(DVCS) can be described as a directed acyclic graph (DAG), consisting
|
|
|
|
of nodes and edges, where nodes correspond to changesets and edges
|
|
|
|
imply a parent -> child relation. This graph can be visualized by
|
2016-01-12 09:03:36 +03:00
|
|
|
graphical tools such as 'hg log --graph'. In Mercurial, the DAG is
|
2014-10-01 01:40:10 +04:00
|
|
|
limited by the requirement for children to have at most two parents.
|
|
|
|
|
2014-10-06 15:35:53 +04:00
|
|
|
|
|
|
|
$ hg help hgrc.paths
|
|
|
|
"paths"
|
|
|
|
-------
|
|
|
|
|
2015-12-06 08:11:04 +03:00
|
|
|
Assigns symbolic names and behavior to repositories.
|
2014-10-06 15:35:53 +04:00
|
|
|
|
2015-12-06 08:11:04 +03:00
|
|
|
Options are symbolic names defining the URL or directory that is the
|
|
|
|
location of the repository. Example:
|
2014-10-06 15:35:53 +04:00
|
|
|
|
2015-12-06 08:11:04 +03:00
|
|
|
[paths]
|
|
|
|
my_server = https://example.com/my_repo
|
|
|
|
local_path = /home/me/repo
|
2014-10-06 15:35:53 +04:00
|
|
|
|
2015-12-06 08:11:04 +03:00
|
|
|
These symbolic names can be used from the command line. To pull from
|
2016-01-12 09:03:36 +03:00
|
|
|
"my_server": 'hg pull my_server'. To push to "local_path": 'hg push
|
|
|
|
local_path'.
|
2015-12-06 08:11:04 +03:00
|
|
|
|
|
|
|
Options containing colons (":") denote sub-options that can influence
|
|
|
|
behavior for that specific path. Example:
|
2014-10-06 15:35:53 +04:00
|
|
|
|
|
|
|
[paths]
|
2015-12-06 08:11:04 +03:00
|
|
|
my_server = https://example.com/my_path
|
|
|
|
my_server:pushurl = ssh://example.com/my_path
|
|
|
|
|
|
|
|
The following sub-options can be defined:
|
2014-10-06 15:35:53 +04:00
|
|
|
|
2015-12-06 08:11:04 +03:00
|
|
|
"pushurl"
|
|
|
|
The URL to use for push operations. If not defined, the location
|
|
|
|
defined by the path's main entry is used.
|
2014-10-06 15:35:53 +04:00
|
|
|
|
2016-06-26 17:59:02 +03:00
|
|
|
"pushrev"
|
|
|
|
A revset defining which revisions to push by default.
|
|
|
|
|
|
|
|
When 'hg push' is executed without a "-r" argument, the revset defined
|
|
|
|
by this sub-option is evaluated to determine what to push.
|
|
|
|
|
|
|
|
For example, a value of "." will push the working directory's revision
|
|
|
|
by default.
|
|
|
|
|
|
|
|
Revsets specifying bookmarks will not result in the bookmark being
|
|
|
|
pushed.
|
|
|
|
|
2015-12-06 08:11:04 +03:00
|
|
|
The following special named paths exist:
|
|
|
|
|
|
|
|
"default"
|
|
|
|
The URL or directory to use when no source or remote is specified.
|
|
|
|
|
2016-01-12 09:03:36 +03:00
|
|
|
'hg clone' will automatically define this path to the location the
|
2015-12-06 08:11:04 +03:00
|
|
|
repository was cloned from.
|
|
|
|
|
|
|
|
"default-push"
|
2016-01-12 09:03:36 +03:00
|
|
|
(deprecated) The URL or directory for the default 'hg push' location.
|
2015-12-06 08:11:04 +03:00
|
|
|
"default:pushurl" should be used instead.
|
2014-10-06 15:35:53 +04:00
|
|
|
|
2014-10-01 01:40:10 +04:00
|
|
|
$ hg help glossary.mcguffin
|
2017-02-05 12:57:19 +03:00
|
|
|
abort: help section not found: glossary.mcguffin
|
2014-10-01 01:40:10 +04:00
|
|
|
[255]
|
|
|
|
|
2014-11-01 21:02:31 +03:00
|
|
|
$ hg help glossary.mc.guffin
|
2017-02-05 12:57:19 +03:00
|
|
|
abort: help section not found: glossary.mc.guffin
|
2014-11-01 21:02:31 +03:00
|
|
|
[255]
|
|
|
|
|
2015-07-05 06:11:32 +03:00
|
|
|
$ hg help template.files
|
|
|
|
files List of strings. All files modified, added, or removed by
|
|
|
|
this changeset.
|
2016-09-23 11:15:05 +03:00
|
|
|
files(pattern)
|
|
|
|
All files of the current changeset matching the pattern. See
|
|
|
|
'hg help patterns'.
|
2015-07-05 06:11:32 +03:00
|
|
|
|
2016-05-13 01:19:59 +03:00
|
|
|
Test section lookup by translated message
|
|
|
|
|
|
|
|
str.lower() instead of encoding.lower(str) on translated message might
|
|
|
|
make message meaningless, because some encoding uses 0x41(A) - 0x5a(Z)
|
|
|
|
as the second or later byte of multi-byte character.
|
|
|
|
|
|
|
|
For example, "\x8bL\x98^" (translation of "record" in ja_JP.cp932)
|
|
|
|
contains 0x4c (L). str.lower() replaces 0x4c(L) by 0x6c(l) and this
|
|
|
|
replacement makes message meaningless.
|
|
|
|
|
|
|
|
This tests that section lookup by translated string isn't broken by
|
|
|
|
such str.lower().
|
|
|
|
|
2017-07-05 19:10:11 +03:00
|
|
|
$ $PYTHON <<EOF
|
2016-05-13 01:19:59 +03:00
|
|
|
> def escape(s):
|
|
|
|
> return ''.join('\u%x' % ord(uc) for uc in s.decode('cp932'))
|
|
|
|
> # translation of "record" in ja_JP.cp932
|
|
|
|
> upper = "\x8bL\x98^"
|
|
|
|
> # str.lower()-ed section name should be treated as different one
|
|
|
|
> lower = "\x8bl\x98^"
|
|
|
|
> with open('ambiguous.py', 'w') as fp:
|
|
|
|
> fp.write("""# ambiguous section names in ja_JP.cp932
|
|
|
|
> u'''summary of extension
|
|
|
|
>
|
|
|
|
> %s
|
|
|
|
> ----
|
|
|
|
>
|
|
|
|
> Upper name should show only this message
|
|
|
|
>
|
|
|
|
> %s
|
|
|
|
> ----
|
|
|
|
>
|
|
|
|
> Lower name should show only this message
|
|
|
|
>
|
|
|
|
> subsequent section
|
|
|
|
> ------------------
|
|
|
|
>
|
2016-09-21 02:49:20 +03:00
|
|
|
> This should be hidden at 'hg help ambiguous' with section name.
|
2016-05-13 01:19:59 +03:00
|
|
|
> '''
|
|
|
|
> """ % (escape(upper), escape(lower)))
|
|
|
|
> EOF
|
|
|
|
|
|
|
|
$ cat >> $HGRCPATH <<EOF
|
|
|
|
> [extensions]
|
|
|
|
> ambiguous = ./ambiguous.py
|
|
|
|
> EOF
|
|
|
|
|
2017-07-05 19:10:11 +03:00
|
|
|
$ $PYTHON <<EOF | sh
|
2016-05-13 01:19:59 +03:00
|
|
|
> upper = "\x8bL\x98^"
|
2017-06-15 21:22:25 +03:00
|
|
|
> print("hg --encoding cp932 help -e ambiguous.%s" % upper)
|
2016-05-13 01:19:59 +03:00
|
|
|
> EOF
|
|
|
|
\x8bL\x98^ (esc)
|
|
|
|
----
|
|
|
|
|
|
|
|
Upper name should show only this message
|
|
|
|
|
|
|
|
|
2017-07-05 19:10:11 +03:00
|
|
|
$ $PYTHON <<EOF | sh
|
2016-05-13 01:19:59 +03:00
|
|
|
> lower = "\x8bl\x98^"
|
2017-06-15 21:22:25 +03:00
|
|
|
> print("hg --encoding cp932 help -e ambiguous.%s" % lower)
|
2016-05-13 01:19:59 +03:00
|
|
|
> EOF
|
|
|
|
\x8bl\x98^ (esc)
|
|
|
|
----
|
|
|
|
|
|
|
|
Lower name should show only this message
|
|
|
|
|
|
|
|
|
|
|
|
$ cat >> $HGRCPATH <<EOF
|
|
|
|
> [extensions]
|
|
|
|
> ambiguous = !
|
|
|
|
> EOF
|
|
|
|
|
2016-09-01 23:06:42 +03:00
|
|
|
Show help content of disabled extensions
|
|
|
|
|
|
|
|
$ cat >> $HGRCPATH <<EOF
|
|
|
|
> [extensions]
|
|
|
|
> ambiguous = !./ambiguous.py
|
|
|
|
> EOF
|
|
|
|
$ hg help -e ambiguous
|
|
|
|
ambiguous extension - (no help text available)
|
|
|
|
|
2016-09-21 02:47:46 +03:00
|
|
|
(use 'hg help extensions' for information on enabling extensions)
|
2016-09-01 23:06:42 +03:00
|
|
|
|
2015-02-10 18:57:58 +03:00
|
|
|
Test dynamic list of merge tools only shows up once
|
|
|
|
$ hg help merge-tools
|
|
|
|
Merge Tools
|
|
|
|
"""""""""""
|
|
|
|
|
|
|
|
To merge files Mercurial uses merge tools.
|
|
|
|
|
|
|
|
A merge tool combines two different versions of a file into a merged file.
|
|
|
|
Merge tools are given the two files and the greatest common ancestor of
|
|
|
|
the two file versions, so they can determine the changes made on both
|
|
|
|
branches.
|
|
|
|
|
2016-01-12 09:03:36 +03:00
|
|
|
Merge tools are used both for 'hg resolve', 'hg merge', 'hg update', 'hg
|
|
|
|
backout' and in several extensions.
|
2015-02-10 18:57:58 +03:00
|
|
|
|
|
|
|
Usually, the merge tool tries to automatically reconcile the files by
|
|
|
|
combining all non-overlapping changes that occurred separately in the two
|
|
|
|
different evolutions of the same initial base file. Furthermore, some
|
|
|
|
interactive merge programs make it easier to manually resolve conflicting
|
|
|
|
merges, either in a graphical way, or by inserting some conflict markers.
|
|
|
|
Mercurial does not include any interactive merge programs but relies on
|
|
|
|
external tools for that.
|
|
|
|
|
|
|
|
Available merge tools
|
|
|
|
=====================
|
|
|
|
|
|
|
|
External merge tools and their properties are configured in the merge-
|
|
|
|
tools configuration section - see hgrc(5) - but they can often just be
|
|
|
|
named by their executable.
|
|
|
|
|
|
|
|
A merge tool is generally usable if its executable can be found on the
|
|
|
|
system and if it can handle the merge. The executable is found if it is an
|
|
|
|
absolute or relative executable path or the name of an application in the
|
|
|
|
executable search path. The tool is assumed to be able to handle the merge
|
|
|
|
if it can handle symlinks if the file is a symlink, if it can handle
|
|
|
|
binary files if the file is binary, and if a GUI is available if the tool
|
|
|
|
requires a GUI.
|
|
|
|
|
|
|
|
There are some internal merge tools which can be used. The internal merge
|
|
|
|
tools are:
|
|
|
|
|
|
|
|
":dump"
|
|
|
|
Creates three versions of the files to merge, containing the contents of
|
|
|
|
local, other and base. These files can then be used to perform a merge
|
|
|
|
manually. If the file to be merged is named "a.txt", these files will
|
|
|
|
accordingly be named "a.txt.local", "a.txt.other" and "a.txt.base" and
|
|
|
|
they will be placed in the same directory as "a.txt".
|
|
|
|
|
2017-10-21 00:15:46 +03:00
|
|
|
This implies premerge. Therefore, files aren't dumped, if premerge runs
|
filemerge: add internal merge tool to dump files forcibly
Internal merge tool :dump implies premerge. Therefore, files aren't
dumped, if premerge runs successfully.
This undocumented behavior might confuse users, if they want to always
dump files. But just making :dump omit premerge might cause backward
compatibility issue for existing automation.
This patch adds new internal merge tool :forcedump, which works as
same as :dump, but omits premerge always.
Internal tools annotated with "nomerge" should merge "change and
delete" correctly, but _forcedump() can't. Therefore, it is annotated
with "mergeonly" to always omit premerge, even though it doesn't merge
files actually.
This patch also adds explanation about premerge to :dump, to clarify
how :dump actually works.
BTW, this patch specifies internal tools with "internal:" prefix in
newly added test scenario in test-merge-tools.t, even though this
prefix is already deprecated. This is only for similarity to other
tests in test-merge-tools.t.
2017-05-12 21:31:42 +03:00
|
|
|
successfully. Use :forcedump to forcibly write files out.
|
|
|
|
|
2015-02-10 18:57:58 +03:00
|
|
|
":fail"
|
|
|
|
Rather than attempting to merge files that were modified on both
|
|
|
|
branches, it marks them as unresolved. The resolve command must be used
|
|
|
|
to resolve these conflicts.
|
|
|
|
|
filemerge: add internal merge tool to dump files forcibly
Internal merge tool :dump implies premerge. Therefore, files aren't
dumped, if premerge runs successfully.
This undocumented behavior might confuse users, if they want to always
dump files. But just making :dump omit premerge might cause backward
compatibility issue for existing automation.
This patch adds new internal merge tool :forcedump, which works as
same as :dump, but omits premerge always.
Internal tools annotated with "nomerge" should merge "change and
delete" correctly, but _forcedump() can't. Therefore, it is annotated
with "mergeonly" to always omit premerge, even though it doesn't merge
files actually.
This patch also adds explanation about premerge to :dump, to clarify
how :dump actually works.
BTW, this patch specifies internal tools with "internal:" prefix in
newly added test scenario in test-merge-tools.t, even though this
prefix is already deprecated. This is only for similarity to other
tests in test-merge-tools.t.
2017-05-12 21:31:42 +03:00
|
|
|
":forcedump"
|
|
|
|
Creates three versions of the files as same as :dump, but omits
|
|
|
|
premerge.
|
|
|
|
|
2015-02-10 18:57:58 +03:00
|
|
|
":local"
|
2016-03-17 03:36:01 +03:00
|
|
|
Uses the local 'p1()' version of files as the merged version.
|
2015-02-10 18:57:58 +03:00
|
|
|
|
|
|
|
":merge"
|
|
|
|
Uses the internal non-interactive simple merge algorithm for merging
|
|
|
|
files. It will fail if there are any conflicts and leave markers in the
|
|
|
|
partially merged file. Markers will have two sections, one for each side
|
|
|
|
of merge.
|
|
|
|
|
2015-09-10 16:41:11 +03:00
|
|
|
":merge-local"
|
|
|
|
Like :merge, but resolve all conflicts non-interactively in favor of the
|
2016-03-17 03:36:01 +03:00
|
|
|
local 'p1()' changes.
|
2015-09-10 16:41:11 +03:00
|
|
|
|
|
|
|
":merge-other"
|
|
|
|
Like :merge, but resolve all conflicts non-interactively in favor of the
|
2016-03-17 03:36:01 +03:00
|
|
|
other 'p2()' changes.
|
2015-09-10 16:41:11 +03:00
|
|
|
|
2015-02-10 18:57:58 +03:00
|
|
|
":merge3"
|
|
|
|
Uses the internal non-interactive simple merge algorithm for merging
|
|
|
|
files. It will fail if there are any conflicts and leave markers in the
|
|
|
|
partially merged file. Marker will have three sections, one from each
|
|
|
|
side of the merge and one for the base content.
|
|
|
|
|
|
|
|
":other"
|
2016-03-17 03:36:01 +03:00
|
|
|
Uses the other 'p2()' version of files as the merged version.
|
2015-02-10 18:57:58 +03:00
|
|
|
|
|
|
|
":prompt"
|
2016-03-17 03:36:01 +03:00
|
|
|
Asks the user which of the local 'p1()' or the other 'p2()' version to
|
|
|
|
keep as the merged version.
|
2015-02-10 18:57:58 +03:00
|
|
|
|
|
|
|
":tagmerge"
|
|
|
|
Uses the internal tag merge algorithm (experimental).
|
|
|
|
|
2015-08-16 11:19:00 +03:00
|
|
|
":union"
|
|
|
|
Uses the internal non-interactive simple merge algorithm for merging
|
|
|
|
files. It will use both left and right sides for conflict regions. No
|
|
|
|
markers are inserted.
|
|
|
|
|
2015-02-10 18:57:58 +03:00
|
|
|
Internal tools are always available and do not require a GUI but will by
|
|
|
|
default not handle symlinks or binary files.
|
|
|
|
|
|
|
|
Choosing a merge tool
|
|
|
|
=====================
|
|
|
|
|
|
|
|
Mercurial uses these rules when deciding which merge tool to use:
|
|
|
|
|
|
|
|
1. If a tool has been specified with the --tool option to merge or
|
|
|
|
resolve, it is used. If it is the name of a tool in the merge-tools
|
|
|
|
configuration, its configuration is used. Otherwise the specified tool
|
|
|
|
must be executable by the shell.
|
|
|
|
2. If the "HGMERGE" environment variable is present, its value is used and
|
|
|
|
must be executable by the shell.
|
|
|
|
3. If the filename of the file to be merged matches any of the patterns in
|
|
|
|
the merge-patterns configuration section, the first usable merge tool
|
|
|
|
corresponding to a matching pattern is used. Here, binary capabilities
|
|
|
|
of the merge tool are not considered.
|
|
|
|
4. If ui.merge is set it will be considered next. If the value is not the
|
|
|
|
name of a configured tool, the specified value is used and must be
|
|
|
|
executable by the shell. Otherwise the named tool is used if it is
|
|
|
|
usable.
|
|
|
|
5. If any usable merge tools are present in the merge-tools configuration
|
|
|
|
section, the one with the highest priority is used.
|
|
|
|
6. If a program named "hgmerge" can be found on the system, it is used -
|
|
|
|
but it will by default not be used for symlinks and binary files.
|
|
|
|
7. If the file to be merged is not binary and is not a symlink, then
|
|
|
|
internal ":merge" is used.
|
2017-05-05 20:33:00 +03:00
|
|
|
8. Otherwise, ":prompt" is used.
|
2015-02-10 18:57:58 +03:00
|
|
|
|
|
|
|
Note:
|
|
|
|
After selecting a merge program, Mercurial will by default attempt to
|
|
|
|
merge the files using a simple merge algorithm first. Only if it
|
2017-11-01 06:09:29 +03:00
|
|
|
doesn't succeed because of conflicting changes will Mercurial actually
|
2015-02-10 18:57:58 +03:00
|
|
|
execute the merge program. Whether to use the simple merge algorithm
|
|
|
|
first can be controlled by the premerge setting of the merge tool.
|
|
|
|
Premerge is enabled by default unless the file is binary or a symlink.
|
|
|
|
|
|
|
|
See the merge-tools and ui sections of hgrc(5) for details on the
|
|
|
|
configuration of merge tools.
|
|
|
|
|
2017-04-01 23:42:06 +03:00
|
|
|
Compression engines listed in `hg help bundlespec`
|
|
|
|
|
|
|
|
$ hg help bundlespec | grep gzip
|
|
|
|
"v1" bundles can only use the "gzip", "bzip2", and "none" compression
|
|
|
|
An algorithm that produces smaller bundles than "gzip".
|
|
|
|
This engine will likely produce smaller bundles than "gzip" but will be
|
|
|
|
"gzip"
|
2017-04-04 02:45:09 +03:00
|
|
|
better compression than "gzip". It also frequently yields better (?)
|
2017-04-01 23:42:06 +03:00
|
|
|
|
2018-02-02 23:17:46 +03:00
|
|
|
#if normal-layout
|
2012-08-13 16:25:48 +04:00
|
|
|
Test usage of section marks in help documents
|
|
|
|
|
|
|
|
$ cd "$TESTDIR"/../doc
|
2017-06-20 16:45:02 +03:00
|
|
|
$ $PYTHON check-seclevel.py
|
2018-02-02 23:17:46 +03:00
|
|
|
#endif
|
|
|
|
|
2013-03-01 22:42:42 +04:00
|
|
|
$ cd $TESTTMP
|
|
|
|
|
|
|
|
#if serve
|
|
|
|
|
|
|
|
Test the help pages in hgweb.
|
|
|
|
|
|
|
|
Dish up an empty repo; serve it cold.
|
|
|
|
|
|
|
|
$ hg init "$TESTTMP/test"
|
2018-02-08 02:18:29 +03:00
|
|
|
$ hg serve -R "$TESTTMP/test" -n test -p 0 --port-file $TESTTMP/.port -d --pid-file=hg.pid
|
|
|
|
$ HGPORT=`cat $TESTTMP/.port`
|
2013-03-01 22:42:42 +04:00
|
|
|
$ cat hg.pid >> $DAEMON_PIDS
|
|
|
|
|
2017-02-16 20:38:52 +03:00
|
|
|
$ get-with-headers.py $LOCALIP:$HGPORT "help"
|
2013-03-01 22:42:42 +04:00
|
|
|
200 Script output follows
|
|
|
|
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
|
|
|
|
<head>
|
|
|
|
<link rel="icon" href="/static/hgicon.png" type="image/png" />
|
|
|
|
<meta name="robots" content="index, nofollow" />
|
|
|
|
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
|
|
|
|
<script type="text/javascript" src="/static/mercurial.js"></script>
|
|
|
|
|
|
|
|
<title>Help: Index</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<div class="container">
|
|
|
|
<div class="menu">
|
|
|
|
<div class="logo">
|
2015-09-30 23:43:49 +03:00
|
|
|
<a href="https://mercurial-scm.org/">
|
2013-03-01 22:42:42 +04:00
|
|
|
<img src="/static/hglogo.png" alt="mercurial" /></a>
|
|
|
|
</div>
|
|
|
|
<ul>
|
|
|
|
<li><a href="/shortlog">log</a></li>
|
|
|
|
<li><a href="/graph">graph</a></li>
|
|
|
|
<li><a href="/tags">tags</a></li>
|
|
|
|
<li><a href="/bookmarks">bookmarks</a></li>
|
|
|
|
<li><a href="/branches">branches</a></li>
|
|
|
|
</ul>
|
|
|
|
<ul>
|
|
|
|
<li class="active">help</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="main">
|
|
|
|
<h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
|
2017-06-09 23:59:13 +03:00
|
|
|
|
2013-03-01 22:42:42 +04:00
|
|
|
<form class="search" action="/log">
|
|
|
|
|
2017-06-09 23:59:13 +03:00
|
|
|
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
|
2013-09-06 13:30:57 +04:00
|
|
|
<div id="hint">Find changesets by keywords (author, files, the commit message), revision
|
|
|
|
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
|
2013-03-01 22:42:42 +04:00
|
|
|
</form>
|
|
|
|
<table class="bigtable">
|
2016-09-26 11:12:40 +03:00
|
|
|
<tr><td colspan="2"><h2><a name="topics" href="#topics">Topics</a></h2></td></tr>
|
2013-02-10 01:51:21 +04:00
|
|
|
|
2017-04-01 23:42:06 +03:00
|
|
|
<tr><td>
|
|
|
|
<a href="/help/bundlespec">
|
|
|
|
bundlespec
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Bundle File Formats
|
|
|
|
</td></tr>
|
2017-03-01 22:22:04 +03:00
|
|
|
<tr><td>
|
|
|
|
<a href="/help/color">
|
|
|
|
color
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Colorizing Outputs
|
|
|
|
</td></tr>
|
2013-02-10 01:51:21 +04:00
|
|
|
<tr><td>
|
|
|
|
<a href="/help/config">
|
|
|
|
config
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Configuration Files
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/dates">
|
|
|
|
dates
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Date Formats
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/diffs">
|
|
|
|
diffs
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Diff Formats
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/environment">
|
|
|
|
environment
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Environment Variables
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/extensions">
|
|
|
|
extensions
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Using Additional Features
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/filesets">
|
|
|
|
filesets
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
Specifying Files by their Characteristics
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2017-10-31 06:35:30 +03:00
|
|
|
<a href="/help/flags">
|
|
|
|
flags
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Command-line flags
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/glossary">
|
|
|
|
glossary
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
Common Terms
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/hgignore">
|
|
|
|
hgignore
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Syntax for Mercurial Ignore Files
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/hgweb">
|
|
|
|
hgweb
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Configuring hgweb
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2015-12-13 21:35:03 +03:00
|
|
|
<a href="/help/internals">
|
|
|
|
internals
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Technical implementation topics
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/merge-tools">
|
|
|
|
merge-tools
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Merge Tools
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2017-02-07 08:07:53 +03:00
|
|
|
<a href="/help/pager">
|
|
|
|
pager
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Pager Support
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/patterns">
|
|
|
|
patterns
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
Specifying Files by File Name Pattern
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/phases">
|
|
|
|
phases
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Working with Phases
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/revisions">
|
|
|
|
revisions
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
Specifying Commits
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2015-07-19 03:10:28 +03:00
|
|
|
<a href="/help/scripting">
|
|
|
|
scripting
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Using Mercurial from scripts and automation
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/subrepos">
|
|
|
|
subrepos
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Subrepositories
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/templating">
|
|
|
|
templating
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
Customizing Output with Templates
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/urls">
|
|
|
|
urls
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
URL Paths
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/topic-containing-verbose">
|
|
|
|
topic-containing-verbose
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
This is the topic to test omit indicating.
|
|
|
|
</td></tr>
|
2013-03-01 22:42:42 +04:00
|
|
|
|
2015-12-31 03:12:59 +03:00
|
|
|
|
2013-03-01 22:42:42 +04:00
|
|
|
<tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
|
2013-02-10 01:51:21 +04:00
|
|
|
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/add">
|
|
|
|
add
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
start tracking the specified files
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/annotate">
|
|
|
|
annotate
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
show changeset information by line for each file
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/clone">
|
|
|
|
clone
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
make a copy of an existing repository
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/commit">
|
|
|
|
commit
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
save all pending changes or specified files in a new commit
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/diff">
|
|
|
|
diff
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-10-15 19:35:15 +03:00
|
|
|
show differences between commits
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/export">
|
|
|
|
export
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
dump the header and diffs for one or more changesets
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/forget">
|
|
|
|
forget
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
stop tracking the specified files
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2018-01-13 03:58:28 +03:00
|
|
|
<a href="/help/githelp">
|
|
|
|
githelp
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
suggests the Mercurial equivalent of the given git command
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/init">
|
|
|
|
init
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
create a new repository in the given directory
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/log">
|
|
|
|
log
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-10-15 19:35:15 +03:00
|
|
|
show commit history
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/merge">
|
|
|
|
merge
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2014-11-26 17:22:09 +03:00
|
|
|
merge another revision into working directory
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/pull">
|
|
|
|
pull
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
pull changes from the specified source
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/push">
|
|
|
|
push
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
push changes to the specified destination
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2018-10-12 21:14:34 +03:00
|
|
|
<a href="/help/record">
|
|
|
|
record
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
interactively select changes to commit
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/remove">
|
|
|
|
remove
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
delete the specified tracked files
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/serve">
|
|
|
|
serve
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
start stand-alone webserver
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2018-10-12 16:57:12 +03:00
|
|
|
<a href="/help/show">
|
|
|
|
show
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-10-15 19:35:15 +03:00
|
|
|
show commit in detail
|
2018-10-12 16:57:12 +03:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/status">
|
|
|
|
status
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
list files with pending changes
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/summary">
|
|
|
|
summary
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
summarize working directory state
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/update">
|
|
|
|
update
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
check out a specific commit
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
2013-03-01 22:42:42 +04:00
|
|
|
|
2015-12-31 03:12:59 +03:00
|
|
|
|
|
|
|
|
2013-03-01 22:42:42 +04:00
|
|
|
<tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
|
2013-02-10 01:51:21 +04:00
|
|
|
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/addremove">
|
|
|
|
addremove
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
add all new files, delete all missing files
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/archive">
|
|
|
|
archive
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
create an unversioned archive of a repository revision
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/backout">
|
|
|
|
backout
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
reverse effect of earlier changeset
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/bisect">
|
|
|
|
bisect
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
subdivision search of changesets
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/bookmarks">
|
|
|
|
bookmarks
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2014-06-19 00:26:07 +04:00
|
|
|
create a new bookmark or list existing bookmarks
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/branch">
|
|
|
|
branch
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
set or show the current branch name
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/branches">
|
|
|
|
branches
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
list repository named branches
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/bundle">
|
|
|
|
bundle
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2017-04-01 23:43:43 +03:00
|
|
|
create a bundle file
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/cat">
|
|
|
|
cat
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
output the current or given revision of files
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2014-02-27 22:42:09 +04:00
|
|
|
<a href="/help/config">
|
|
|
|
config
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
show config settings
|
2014-02-27 22:42:09 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/copy">
|
|
|
|
copy
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
mark files as copied for the next commit
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2014-09-13 03:32:46 +04:00
|
|
|
<a href="/help/files">
|
|
|
|
files
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
list tracked files
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/graft">
|
|
|
|
graft
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-10-15 19:35:15 +03:00
|
|
|
copy commits from a different location
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/grep">
|
|
|
|
grep
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-10-26 00:42:34 +03:00
|
|
|
search for a pattern in tracked files in the working directory
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/heads">
|
|
|
|
heads
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2013-07-22 03:45:42 +04:00
|
|
|
show branch heads
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/help">
|
|
|
|
help
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
show help for a given topic or a help overview
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2016-04-08 21:35:49 +03:00
|
|
|
<a href="/help/hgalias">
|
|
|
|
hgalias
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
summarize working directory state
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2018-04-07 10:36:46 +03:00
|
|
|
<a href="/help/hint">
|
|
|
|
hint
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
acknowledge hints
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2018-10-26 00:42:34 +03:00
|
|
|
<a href="/help/histgrep">
|
|
|
|
histgrep
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
search backwards through history for a pattern in the specified files
|
2018-10-26 00:42:34 +03:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/identify">
|
|
|
|
identify
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2015-03-17 16:47:08 +03:00
|
|
|
identify the working directory or specified revision
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/import">
|
|
|
|
import
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
import an ordered set of patches
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/incoming">
|
|
|
|
incoming
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
show new changesets found in source
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/manifest">
|
|
|
|
manifest
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
output the current or given revision of the project manifest
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/nohelp">
|
|
|
|
nohelp
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
(no help text available)
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/outgoing">
|
|
|
|
outgoing
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
show changesets not found in the destination
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/paths">
|
|
|
|
paths
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
show aliases for remote repositories
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/phase">
|
|
|
|
phase
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
set or show the current phase name
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/recover">
|
|
|
|
recover
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
roll back an interrupted transaction
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/rename">
|
|
|
|
rename
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
rename files; equivalent of copy + remove
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/resolve">
|
|
|
|
resolve
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
redo merges or set/view the merge status of files
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/revert">
|
|
|
|
revert
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2018-11-08 06:57:38 +03:00
|
|
|
change the specified files to match a commit
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/root">
|
|
|
|
root
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
print the root (top) of the current working directory
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2016-04-08 21:35:49 +03:00
|
|
|
<a href="/help/shellalias">
|
|
|
|
shellalias
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
(no help text available)
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/tag">
|
|
|
|
tag
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
add one or more tags for the current or given revision
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/tags">
|
|
|
|
tags
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
list repository tags
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/unbundle">
|
|
|
|
unbundle
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2017-04-01 23:43:52 +03:00
|
|
|
apply one or more bundle files
|
2013-02-10 01:51:21 +04:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2018-10-30 17:58:06 +03:00
|
|
|
<a href="/help/uncommit">
|
|
|
|
uncommit
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
uncommit part or all of the current commit
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<a href="/help/verify">
|
|
|
|
verify
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
verify the integrity of the repository
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/version">
|
|
|
|
version
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
output version and copyright information
|
|
|
|
</td></tr>
|
2015-12-31 03:12:59 +03:00
|
|
|
|
|
|
|
|
2013-03-01 22:42:42 +04:00
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|
|
|
|
|
2017-02-16 20:38:52 +03:00
|
|
|
$ get-with-headers.py $LOCALIP:$HGPORT "help/add"
|
2013-03-01 22:42:42 +04:00
|
|
|
200 Script output follows
|
|
|
|
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
|
|
|
|
<head>
|
|
|
|
<link rel="icon" href="/static/hgicon.png" type="image/png" />
|
|
|
|
<meta name="robots" content="index, nofollow" />
|
|
|
|
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
|
|
|
|
<script type="text/javascript" src="/static/mercurial.js"></script>
|
|
|
|
|
|
|
|
<title>Help: add</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<div class="container">
|
|
|
|
<div class="menu">
|
|
|
|
<div class="logo">
|
2015-09-30 23:43:49 +03:00
|
|
|
<a href="https://mercurial-scm.org/">
|
2013-03-01 22:42:42 +04:00
|
|
|
<img src="/static/hglogo.png" alt="mercurial" /></a>
|
|
|
|
</div>
|
|
|
|
<ul>
|
|
|
|
<li><a href="/shortlog">log</a></li>
|
|
|
|
<li><a href="/graph">graph</a></li>
|
|
|
|
<li><a href="/tags">tags</a></li>
|
|
|
|
<li><a href="/bookmarks">bookmarks</a></li>
|
|
|
|
<li><a href="/branches">branches</a></li>
|
|
|
|
</ul>
|
|
|
|
<ul>
|
|
|
|
<li class="active"><a href="/help">help</a></li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="main">
|
|
|
|
<h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
|
|
|
|
<h3>Help: add</h3>
|
|
|
|
|
|
|
|
<form class="search" action="/log">
|
|
|
|
|
2017-06-09 23:59:13 +03:00
|
|
|
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
|
2013-09-06 13:30:57 +04:00
|
|
|
<div id="hint">Find changesets by keywords (author, files, the commit message), revision
|
|
|
|
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
|
2013-03-01 22:42:42 +04:00
|
|
|
</form>
|
2013-02-10 01:51:21 +04:00
|
|
|
<div id="doc">
|
|
|
|
<p>
|
2013-03-01 22:42:42 +04:00
|
|
|
hg add [OPTION]... [FILE]...
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<p>
|
2018-11-08 06:57:38 +03:00
|
|
|
start tracking the specified files
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Schedule files to be version controlled and added to the
|
|
|
|
repository.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
The files will be added to the repository at the next commit. To
|
2016-01-12 09:03:36 +03:00
|
|
|
undo an add before that, see 'hg forget'.
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<p>
|
2015-12-17 17:53:40 +03:00
|
|
|
If no names are given, add all files to the repository (except
|
|
|
|
files matching ".hgignore").
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<p>
|
2015-11-25 20:10:31 +03:00
|
|
|
Examples:
|
2013-04-22 12:27:56 +04:00
|
|
|
</p>
|
2015-11-25 20:10:31 +03:00
|
|
|
<ul>
|
2016-01-12 09:03:36 +03:00
|
|
|
<li> New (unknown) files are added automatically by 'hg add':
|
2013-04-22 12:27:56 +04:00
|
|
|
<pre>
|
|
|
|
\$ ls (re)
|
|
|
|
foo.c
|
|
|
|
\$ hg status (re)
|
|
|
|
? foo.c
|
|
|
|
\$ hg add (re)
|
|
|
|
adding foo.c
|
|
|
|
\$ hg status (re)
|
|
|
|
A foo.c
|
|
|
|
</pre>
|
2015-11-25 20:10:31 +03:00
|
|
|
<li> Specific files to be added can be specified:
|
|
|
|
<pre>
|
|
|
|
\$ ls (re)
|
|
|
|
bar.c foo.c
|
|
|
|
\$ hg status (re)
|
|
|
|
? bar.c
|
|
|
|
? foo.c
|
|
|
|
\$ hg add bar.c (re)
|
|
|
|
\$ hg status (re)
|
|
|
|
A bar.c
|
|
|
|
? foo.c
|
|
|
|
</pre>
|
|
|
|
</ul>
|
2013-04-22 12:27:56 +04:00
|
|
|
<p>
|
2013-02-10 01:51:21 +04:00
|
|
|
Returns 0 if all files are successfully added.
|
|
|
|
</p>
|
|
|
|
<p>
|
2018-10-15 19:35:15 +03:00
|
|
|
Options ([+] can be repeated):
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<table>
|
2013-02-10 01:51:21 +04:00
|
|
|
<tr><td>-I</td>
|
|
|
|
<td>--include PATTERN [+]</td>
|
|
|
|
<td>include names matching the given patterns</td></tr>
|
|
|
|
<tr><td>-X</td>
|
|
|
|
<td>--exclude PATTERN [+]</td>
|
|
|
|
<td>exclude names matching the given patterns</td></tr>
|
|
|
|
<tr><td>-S</td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--subrepos</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>recurse into subrepositories</td></tr>
|
|
|
|
<tr><td>-n</td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--dry-run</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>do not perform actions, just print output</td></tr>
|
2013-02-10 01:51:21 +04:00
|
|
|
</table>
|
|
|
|
<p>
|
2018-10-15 19:35:15 +03:00
|
|
|
Global options ([+] can be repeated):
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<table>
|
2013-02-10 01:51:21 +04:00
|
|
|
<tr><td>-R</td>
|
|
|
|
<td>--repository REPO</td>
|
|
|
|
<td>repository root directory or name of overlay bundle file</td></tr>
|
|
|
|
<tr><td></td>
|
|
|
|
<td>--cwd DIR</td>
|
|
|
|
<td>change working directory</td></tr>
|
|
|
|
<tr><td>-y</td>
|
|
|
|
<td>--noninteractive</td>
|
|
|
|
<td>do not prompt, automatically pick the first choice for all prompts</td></tr>
|
|
|
|
<tr><td>-q</td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--quiet</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>suppress output</td></tr>
|
|
|
|
<tr><td>-v</td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--verbose</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>enable additional output</td></tr>
|
|
|
|
<tr><td></td>
|
2017-02-21 20:09:21 +03:00
|
|
|
<td>--color TYPE</td>
|
2017-02-21 22:04:55 +03:00
|
|
|
<td>when to colorize (boolean, always, auto, never, or debug)</td></tr>
|
2017-02-21 20:09:21 +03:00
|
|
|
<tr><td></td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>--config CONFIG [+]</td>
|
|
|
|
<td>set/override config option (use 'section.name=value')</td></tr>
|
|
|
|
<tr><td></td>
|
2018-03-20 02:20:55 +03:00
|
|
|
<td>--configfile FILE [+]</td>
|
|
|
|
<td>enables the given config file</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--debug</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>enable debugging output</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--debugger</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>start debugger</td></tr>
|
|
|
|
<tr><td></td>
|
|
|
|
<td>--encoding ENCODE</td>
|
|
|
|
<td>set the charset encoding (default: ascii)</td></tr>
|
|
|
|
<tr><td></td>
|
|
|
|
<td>--encodingmode MODE</td>
|
|
|
|
<td>set the charset encoding mode (default: strict)</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--traceback</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>always print a traceback on exception</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--time</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>time how long the command takes</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--profile</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>print command execution profile</td></tr>
|
|
|
|
<tr><td></td>
|
|
|
|
<td>--version</td>
|
|
|
|
<td>output version information and exit</td></tr>
|
|
|
|
<tr><td>-h</td>
|
|
|
|
<td>--help</td>
|
|
|
|
<td>display help and exit</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--hidden</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>consider hidden changesets</td></tr>
|
2017-02-16 01:47:57 +03:00
|
|
|
<tr><td></td>
|
|
|
|
<td>--pager TYPE</td>
|
|
|
|
<td>when to paginate (boolean, always, auto, or never) (default: auto)</td></tr>
|
2013-02-10 01:51:21 +04:00
|
|
|
</table>
|
2013-03-01 22:42:42 +04:00
|
|
|
|
2013-02-10 01:51:21 +04:00
|
|
|
</div>
|
2013-03-01 22:42:42 +04:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|
|
|
|
|
2017-02-16 20:38:52 +03:00
|
|
|
$ get-with-headers.py $LOCALIP:$HGPORT "help/remove"
|
2013-03-01 22:42:42 +04:00
|
|
|
200 Script output follows
|
|
|
|
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
|
|
|
|
<head>
|
|
|
|
<link rel="icon" href="/static/hgicon.png" type="image/png" />
|
|
|
|
<meta name="robots" content="index, nofollow" />
|
|
|
|
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
|
|
|
|
<script type="text/javascript" src="/static/mercurial.js"></script>
|
|
|
|
|
|
|
|
<title>Help: remove</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<div class="container">
|
|
|
|
<div class="menu">
|
|
|
|
<div class="logo">
|
2015-09-30 23:43:49 +03:00
|
|
|
<a href="https://mercurial-scm.org/">
|
2013-03-01 22:42:42 +04:00
|
|
|
<img src="/static/hglogo.png" alt="mercurial" /></a>
|
|
|
|
</div>
|
|
|
|
<ul>
|
|
|
|
<li><a href="/shortlog">log</a></li>
|
|
|
|
<li><a href="/graph">graph</a></li>
|
|
|
|
<li><a href="/tags">tags</a></li>
|
|
|
|
<li><a href="/bookmarks">bookmarks</a></li>
|
|
|
|
<li><a href="/branches">branches</a></li>
|
|
|
|
</ul>
|
|
|
|
<ul>
|
|
|
|
<li class="active"><a href="/help">help</a></li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="main">
|
|
|
|
<h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
|
|
|
|
<h3>Help: remove</h3>
|
|
|
|
|
|
|
|
<form class="search" action="/log">
|
|
|
|
|
2017-06-09 23:59:13 +03:00
|
|
|
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
|
2013-09-06 13:30:57 +04:00
|
|
|
<div id="hint">Find changesets by keywords (author, files, the commit message), revision
|
|
|
|
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
|
2013-03-01 22:42:42 +04:00
|
|
|
</form>
|
2013-02-10 01:51:21 +04:00
|
|
|
<div id="doc">
|
|
|
|
<p>
|
2013-03-01 22:42:42 +04:00
|
|
|
hg remove [OPTION]... FILE...
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<p>
|
2013-03-01 22:42:42 +04:00
|
|
|
aliases: rm
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<p>
|
2018-11-08 06:57:38 +03:00
|
|
|
delete the specified tracked files
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Schedule the indicated files for removal from the current branch.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
This command schedules the files to be removed at the next commit.
|
2016-01-12 09:03:36 +03:00
|
|
|
To undo a remove before that, see 'hg revert'. To undo added
|
|
|
|
files, see 'hg forget'.
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<p>
|
2013-04-22 12:27:56 +04:00
|
|
|
-A/--after can be used to remove only files that have already
|
|
|
|
been deleted, -f/--force can be used to force deletion, and -Af
|
|
|
|
can be used to remove files from the next revision without
|
|
|
|
deleting them from the working directory.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
The following table details the behavior of remove for different
|
|
|
|
file states (columns) and option combinations (rows). The file
|
|
|
|
states are Added [A], Clean [C], Modified [M] and Missing [!]
|
2016-01-12 09:03:36 +03:00
|
|
|
(as reported by 'hg status'). The actions are Warn, Remove
|
2013-04-22 12:27:56 +04:00
|
|
|
(from branch) and Delete (from disk):
|
|
|
|
</p>
|
|
|
|
<table>
|
2013-10-24 20:14:18 +04:00
|
|
|
<tr><td>opt/state</td>
|
2013-04-22 12:27:56 +04:00
|
|
|
<td>A</td>
|
|
|
|
<td>C</td>
|
|
|
|
<td>M</td>
|
|
|
|
<td>!</td></tr>
|
|
|
|
<tr><td>none</td>
|
|
|
|
<td>W</td>
|
|
|
|
<td>RD</td>
|
|
|
|
<td>W</td>
|
|
|
|
<td>R</td></tr>
|
|
|
|
<tr><td>-f</td>
|
|
|
|
<td>R</td>
|
|
|
|
<td>RD</td>
|
|
|
|
<td>RD</td>
|
|
|
|
<td>R</td></tr>
|
|
|
|
<tr><td>-A</td>
|
|
|
|
<td>W</td>
|
|
|
|
<td>W</td>
|
|
|
|
<td>W</td>
|
|
|
|
<td>R</td></tr>
|
|
|
|
<tr><td>-Af</td>
|
|
|
|
<td>R</td>
|
|
|
|
<td>R</td>
|
|
|
|
<td>R</td>
|
|
|
|
<td>R</td></tr>
|
|
|
|
</table>
|
|
|
|
<p>
|
2015-12-22 09:02:01 +03:00
|
|
|
<b>Note:</b>
|
|
|
|
</p>
|
|
|
|
<p>
|
2016-01-12 09:03:36 +03:00
|
|
|
'hg remove' never deletes files in Added [A] state from the
|
2015-12-22 09:02:01 +03:00
|
|
|
working directory, not even if "--force" is specified.
|
2013-04-22 12:27:56 +04:00
|
|
|
</p>
|
|
|
|
<p>
|
2013-02-10 01:51:21 +04:00
|
|
|
Returns 0 on success, 1 if any warnings encountered.
|
|
|
|
</p>
|
|
|
|
<p>
|
2018-10-15 19:35:15 +03:00
|
|
|
Options ([+] can be repeated):
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<table>
|
2013-02-10 01:51:21 +04:00
|
|
|
<tr><td>-A</td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--after</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>record delete for missing files</td></tr>
|
|
|
|
<tr><td>-f</td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--force</td>
|
2016-04-13 10:56:51 +03:00
|
|
|
<td>forget added files, delete modified files</td></tr>
|
2014-11-16 05:36:19 +03:00
|
|
|
<tr><td>-S</td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--subrepos</td>
|
2014-11-16 05:36:19 +03:00
|
|
|
<td>recurse into subrepositories</td></tr>
|
2013-02-10 01:51:21 +04:00
|
|
|
<tr><td>-I</td>
|
|
|
|
<td>--include PATTERN [+]</td>
|
|
|
|
<td>include names matching the given patterns</td></tr>
|
|
|
|
<tr><td>-X</td>
|
|
|
|
<td>--exclude PATTERN [+]</td>
|
|
|
|
<td>exclude names matching the given patterns</td></tr>
|
2013-02-10 01:51:21 +04:00
|
|
|
</table>
|
|
|
|
<p>
|
2018-10-15 19:35:15 +03:00
|
|
|
Global options ([+] can be repeated):
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<table>
|
2013-02-10 01:51:21 +04:00
|
|
|
<tr><td>-R</td>
|
|
|
|
<td>--repository REPO</td>
|
|
|
|
<td>repository root directory or name of overlay bundle file</td></tr>
|
|
|
|
<tr><td></td>
|
|
|
|
<td>--cwd DIR</td>
|
|
|
|
<td>change working directory</td></tr>
|
|
|
|
<tr><td>-y</td>
|
|
|
|
<td>--noninteractive</td>
|
|
|
|
<td>do not prompt, automatically pick the first choice for all prompts</td></tr>
|
|
|
|
<tr><td>-q</td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--quiet</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>suppress output</td></tr>
|
|
|
|
<tr><td>-v</td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--verbose</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>enable additional output</td></tr>
|
|
|
|
<tr><td></td>
|
2017-02-21 20:09:21 +03:00
|
|
|
<td>--color TYPE</td>
|
2017-02-21 22:04:55 +03:00
|
|
|
<td>when to colorize (boolean, always, auto, never, or debug)</td></tr>
|
2017-02-21 20:09:21 +03:00
|
|
|
<tr><td></td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>--config CONFIG [+]</td>
|
|
|
|
<td>set/override config option (use 'section.name=value')</td></tr>
|
|
|
|
<tr><td></td>
|
2018-03-20 02:20:55 +03:00
|
|
|
<td>--configfile FILE [+]</td>
|
|
|
|
<td>enables the given config file</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--debug</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>enable debugging output</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--debugger</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>start debugger</td></tr>
|
|
|
|
<tr><td></td>
|
|
|
|
<td>--encoding ENCODE</td>
|
|
|
|
<td>set the charset encoding (default: ascii)</td></tr>
|
|
|
|
<tr><td></td>
|
|
|
|
<td>--encodingmode MODE</td>
|
|
|
|
<td>set the charset encoding mode (default: strict)</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--traceback</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>always print a traceback on exception</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--time</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>time how long the command takes</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--profile</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>print command execution profile</td></tr>
|
|
|
|
<tr><td></td>
|
|
|
|
<td>--version</td>
|
|
|
|
<td>output version information and exit</td></tr>
|
|
|
|
<tr><td>-h</td>
|
|
|
|
<td>--help</td>
|
|
|
|
<td>display help and exit</td></tr>
|
|
|
|
<tr><td></td>
|
help: backout 6f89f03ad369 (mark boolean flags with [no-] in help) for now
The ability to negate any boolean flags itself is great, but I think we are not
ready to expose the help side of it yet.
First, while there exist a handful of such flags whose default value can be
changed (eg: git diff, patchwork confirmation), there is only a few of them. The
users who benefit the most from this change are alias users and large
installation that can deploy extension to change behavior (eg: facebook
tweakdefault). So the majority of user who will be affected by a large change
to command help that is not yet relevant to them. (I expect this to become
relevant when ui.progressive start to exists).
Below is an example of the impact of the new help on 'hg help diff':
-r --rev REV [+] revision
-c --change REV change made by revision
-a --[no-]text treat all files as text
-g --[no-]git use git extended diff format
--[no-]nodates omit dates from diff headers
--[no-]noprefix omit a/ and b/ prefixes from filenames
-p --[no-]show-function show which function each change is in
--[no-]reverse produce a diff that undoes the changes
-w --[no-]ignore-all-space ignore white space when comparing lines
-b --[no-]ignore-space-change ignore changes in the amount of white space
-B --[no-]ignore-blank-lines ignore changes whose lines are all blank
-U --unified NUM number of lines of context to show
--[no-]stat output diffstat-style summary of changes
--root DIR produce diffs relative to subdirectory
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-S --[no-]subrepos recurse into subrepositories
Another issue with the current state of help, the default value for the
flag is not conveyed to the user. For example in the 'backout' help, there is
no real distinction between "--[no-]backup" (default to True) and "--[no-]keep"
(default) to False:
--[no-]backup no backups
--[no-]keep do not modify working directory during strip
In addition, I've discussed with Augie Fackler and the last batch of the work on
this have burned him out quite some. Therefore he is not intending to perform
any more work on this topic. Quoting him, he would rather see the help part
backed out than spending more time on it.
I do not think we are ready to expose this to users in 4.0 (freeze in a week),
especially because we cannot expect quick improvement on these aspect as this
topic no longer have an owner. We should be able to reintroduce that change in
the future when someone get back on it and the main issues are solves:
* Introduction of ui.progressive makes it relevant for a majority of user,
* Current default value are efficiently conveyed to the user.
(In addition, the excerpt from diff help show that we still have some issue with
some negative option like '--nodates' so further improvement are probably
welcome there.)
2016-10-09 04:11:18 +03:00
|
|
|
<td>--hidden</td>
|
2013-02-10 01:51:21 +04:00
|
|
|
<td>consider hidden changesets</td></tr>
|
2017-02-16 01:47:57 +03:00
|
|
|
<tr><td></td>
|
|
|
|
<td>--pager TYPE</td>
|
|
|
|
<td>when to paginate (boolean, always, auto, or never) (default: auto)</td></tr>
|
2013-02-10 01:51:21 +04:00
|
|
|
</table>
|
2013-03-01 22:42:42 +04:00
|
|
|
|
2013-02-10 01:51:21 +04:00
|
|
|
</div>
|
2013-03-01 22:42:42 +04:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|
|
|
|
|
2017-02-16 20:38:52 +03:00
|
|
|
$ get-with-headers.py $LOCALIP:$HGPORT "help/dates"
|
2013-03-01 22:42:42 +04:00
|
|
|
200 Script output follows
|
|
|
|
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
|
|
|
|
<head>
|
|
|
|
<link rel="icon" href="/static/hgicon.png" type="image/png" />
|
|
|
|
<meta name="robots" content="index, nofollow" />
|
|
|
|
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
|
|
|
|
<script type="text/javascript" src="/static/mercurial.js"></script>
|
|
|
|
|
2017-01-11 22:40:40 +03:00
|
|
|
<title>Help: dates</title>
|
2013-03-01 22:42:42 +04:00
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<div class="container">
|
|
|
|
<div class="menu">
|
|
|
|
<div class="logo">
|
2015-09-30 23:43:49 +03:00
|
|
|
<a href="https://mercurial-scm.org/">
|
2013-03-01 22:42:42 +04:00
|
|
|
<img src="/static/hglogo.png" alt="mercurial" /></a>
|
|
|
|
</div>
|
|
|
|
<ul>
|
|
|
|
<li><a href="/shortlog">log</a></li>
|
|
|
|
<li><a href="/graph">graph</a></li>
|
|
|
|
<li><a href="/tags">tags</a></li>
|
|
|
|
<li><a href="/bookmarks">bookmarks</a></li>
|
|
|
|
<li><a href="/branches">branches</a></li>
|
|
|
|
</ul>
|
|
|
|
<ul>
|
|
|
|
<li class="active"><a href="/help">help</a></li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="main">
|
|
|
|
<h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
|
2017-01-11 22:40:40 +03:00
|
|
|
<h3>Help: dates</h3>
|
2013-03-01 22:42:42 +04:00
|
|
|
|
|
|
|
<form class="search" action="/log">
|
|
|
|
|
2017-06-09 23:59:13 +03:00
|
|
|
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
|
2013-09-06 13:30:57 +04:00
|
|
|
<div id="hint">Find changesets by keywords (author, files, the commit message), revision
|
|
|
|
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
|
2013-03-01 22:42:42 +04:00
|
|
|
</form>
|
2013-02-10 01:51:21 +04:00
|
|
|
<div id="doc">
|
2017-01-11 22:40:40 +03:00
|
|
|
<h1>Date Formats</h1>
|
2013-02-10 01:51:21 +04:00
|
|
|
<p>
|
2017-01-11 22:40:40 +03:00
|
|
|
Some commands allow the user to specify a date, e.g.:
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
2017-01-11 22:40:40 +03:00
|
|
|
<ul>
|
|
|
|
<li> backout, commit, import, tag: Specify the commit date.
|
|
|
|
<li> log, revert, update: Select revision(s) by date.
|
|
|
|
</ul>
|
2013-02-10 01:51:21 +04:00
|
|
|
<p>
|
2017-01-11 22:40:40 +03:00
|
|
|
Many date formats are valid. Here are some examples:
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
2017-01-11 22:40:40 +03:00
|
|
|
<ul>
|
|
|
|
<li> "Wed Dec 6 13:18:29 2006" (local timezone assumed)
|
|
|
|
<li> "Dec 6 13:18 -0600" (year assumed, time offset provided)
|
|
|
|
<li> "Dec 6 13:18 UTC" (UTC and GMT are aliases for +0000)
|
|
|
|
<li> "Dec 6" (midnight)
|
|
|
|
<li> "13:18" (today assumed)
|
|
|
|
<li> "3:39" (3:39AM assumed)
|
|
|
|
<li> "3:39pm" (15:39)
|
|
|
|
<li> "2006-12-06 13:18:29" (ISO 8601 format)
|
|
|
|
<li> "2006-12-6 13:18"
|
|
|
|
<li> "2006-12-6"
|
|
|
|
<li> "12-6"
|
|
|
|
<li> "12/6"
|
|
|
|
<li> "12/6/6" (Dec 6 2006)
|
|
|
|
<li> "today" (midnight)
|
|
|
|
<li> "yesterday" (midnight)
|
|
|
|
<li> "now" - right now
|
|
|
|
</ul>
|
2013-02-10 01:51:21 +04:00
|
|
|
<p>
|
2017-01-11 22:40:40 +03:00
|
|
|
Lastly, there is Mercurial's internal format:
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
2017-01-11 22:40:40 +03:00
|
|
|
<ul>
|
|
|
|
<li> "1165411109 0" (Wed Dec 6 13:18:29 2006 UTC)
|
|
|
|
</ul>
|
2013-02-10 01:51:21 +04:00
|
|
|
<p>
|
2017-01-11 22:40:40 +03:00
|
|
|
This is the internal representation format for dates. The first number
|
|
|
|
is the number of seconds since the epoch (1970-01-01 00:00 UTC). The
|
|
|
|
second is the offset of the local timezone, in seconds west of UTC
|
|
|
|
(negative if the timezone is east of UTC).
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
|
|
|
<p>
|
2017-01-11 22:40:40 +03:00
|
|
|
The log command also accepts date ranges:
|
2013-02-10 01:51:21 +04:00
|
|
|
</p>
|
2017-01-11 22:40:40 +03:00
|
|
|
<ul>
|
|
|
|
<li> "<DATE" - at or before a given date/time
|
|
|
|
<li> ">DATE" - on or after a given date/time
|
|
|
|
<li> "DATE to DATE" - a date range, inclusive
|
|
|
|
<li> "-DAYS" - within a given number of days of today
|
|
|
|
</ul>
|
2013-03-01 22:42:42 +04:00
|
|
|
|
2013-02-10 01:51:21 +04:00
|
|
|
</div>
|
2013-03-01 22:42:42 +04:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|
|
|
|
|
2015-12-31 03:34:51 +03:00
|
|
|
Sub-topic indexes rendered properly
|
|
|
|
|
2017-02-16 20:38:52 +03:00
|
|
|
$ get-with-headers.py $LOCALIP:$HGPORT "help/internals"
|
2015-12-31 03:34:51 +03:00
|
|
|
200 Script output follows
|
|
|
|
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
|
|
|
|
<head>
|
|
|
|
<link rel="icon" href="/static/hgicon.png" type="image/png" />
|
|
|
|
<meta name="robots" content="index, nofollow" />
|
|
|
|
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
|
|
|
|
<script type="text/javascript" src="/static/mercurial.js"></script>
|
|
|
|
|
|
|
|
<title>Help: internals</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<div class="container">
|
|
|
|
<div class="menu">
|
|
|
|
<div class="logo">
|
|
|
|
<a href="https://mercurial-scm.org/">
|
|
|
|
<img src="/static/hglogo.png" alt="mercurial" /></a>
|
|
|
|
</div>
|
|
|
|
<ul>
|
|
|
|
<li><a href="/shortlog">log</a></li>
|
|
|
|
<li><a href="/graph">graph</a></li>
|
|
|
|
<li><a href="/tags">tags</a></li>
|
|
|
|
<li><a href="/bookmarks">bookmarks</a></li>
|
|
|
|
<li><a href="/branches">branches</a></li>
|
|
|
|
</ul>
|
|
|
|
<ul>
|
|
|
|
<li><a href="/help">help</a></li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="main">
|
|
|
|
<h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
|
2017-06-09 23:59:13 +03:00
|
|
|
|
2015-12-31 03:34:51 +03:00
|
|
|
<form class="search" action="/log">
|
|
|
|
|
2017-06-09 23:59:13 +03:00
|
|
|
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
|
2015-12-31 03:34:51 +03:00
|
|
|
<div id="hint">Find changesets by keywords (author, files, the commit message), revision
|
|
|
|
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
|
|
|
|
</form>
|
|
|
|
<table class="bigtable">
|
2016-09-26 11:12:40 +03:00
|
|
|
<tr><td colspan="2"><h2><a name="topics" href="#topics">Topics</a></h2></td></tr>
|
2015-12-31 03:34:51 +03:00
|
|
|
|
|
|
|
<tr><td>
|
|
|
|
<a href="/help/internals.bundles">
|
|
|
|
bundles
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2016-08-07 03:04:22 +03:00
|
|
|
Bundles
|
2015-12-31 03:34:51 +03:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2017-03-11 01:37:39 +03:00
|
|
|
<a href="/help/internals.censor">
|
|
|
|
censor
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Censor
|
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2015-12-31 03:34:51 +03:00
|
|
|
<a href="/help/internals.changegroups">
|
|
|
|
changegroups
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2016-08-07 03:04:22 +03:00
|
|
|
Changegroups
|
2015-12-31 03:34:51 +03:00
|
|
|
</td></tr>
|
2015-12-31 02:21:57 +03:00
|
|
|
<tr><td>
|
2017-10-27 19:19:07 +03:00
|
|
|
<a href="/help/internals.config">
|
|
|
|
config
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2017-11-01 23:34:22 +03:00
|
|
|
Config Registrar
|
2017-10-27 19:19:07 +03:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2016-03-13 05:51:07 +03:00
|
|
|
<a href="/help/internals.requirements">
|
|
|
|
requirements
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2016-08-07 03:04:22 +03:00
|
|
|
Repository Requirements
|
2016-03-13 05:51:07 +03:00
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
2015-12-31 02:21:57 +03:00
|
|
|
<a href="/help/internals.revlogs">
|
|
|
|
revlogs
|
|
|
|
</a>
|
|
|
|
</td><td>
|
2016-08-07 03:04:22 +03:00
|
|
|
Revision Logs
|
2015-12-31 02:21:57 +03:00
|
|
|
</td></tr>
|
2016-08-23 05:46:39 +03:00
|
|
|
<tr><td>
|
|
|
|
<a href="/help/internals.wireprotocol">
|
|
|
|
wireprotocol
|
|
|
|
</a>
|
|
|
|
</td><td>
|
|
|
|
Wire Protocol
|
|
|
|
</td></tr>
|
2015-12-31 03:34:51 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|
|
|
|
|
2015-12-31 03:15:10 +03:00
|
|
|
Sub-topic topics rendered properly
|
|
|
|
|
2017-02-16 20:38:52 +03:00
|
|
|
$ get-with-headers.py $LOCALIP:$HGPORT "help/internals.changegroups"
|
2015-12-31 03:15:10 +03:00
|
|
|
200 Script output follows
|
|
|
|
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
|
|
|
|
<head>
|
|
|
|
<link rel="icon" href="/static/hgicon.png" type="image/png" />
|
|
|
|
<meta name="robots" content="index, nofollow" />
|
|
|
|
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
|
|
|
|
<script type="text/javascript" src="/static/mercurial.js"></script>
|
|
|
|
|
|
|
|
<title>Help: internals.changegroups</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<div class="container">
|
|
|
|
<div class="menu">
|
|
|
|
<div class="logo">
|
|
|
|
<a href="https://mercurial-scm.org/">
|
|
|
|
<img src="/static/hglogo.png" alt="mercurial" /></a>
|
|
|
|
</div>
|
|
|
|
<ul>
|
|
|
|
<li><a href="/shortlog">log</a></li>
|
|
|
|
<li><a href="/graph">graph</a></li>
|
|
|
|
<li><a href="/tags">tags</a></li>
|
|
|
|
<li><a href="/bookmarks">bookmarks</a></li>
|
|
|
|
<li><a href="/branches">branches</a></li>
|
|
|
|
</ul>
|
|
|
|
<ul>
|
|
|
|
<li class="active"><a href="/help">help</a></li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="main">
|
|
|
|
<h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
|
|
|
|
<h3>Help: internals.changegroups</h3>
|
|
|
|
|
|
|
|
<form class="search" action="/log">
|
|
|
|
|
2017-06-09 23:59:13 +03:00
|
|
|
<p><input name="rev" id="search1" type="text" size="30" value="" /></p>
|
2015-12-31 03:15:10 +03:00
|
|
|
<div id="hint">Find changesets by keywords (author, files, the commit message), revision
|
|
|
|
number or hash, or <a href="/help/revsets">revset expression</a>.</div>
|
|
|
|
</form>
|
|
|
|
<div id="doc">
|
2016-08-07 03:04:22 +03:00
|
|
|
<h1>Changegroups</h1>
|
2015-12-31 03:15:10 +03:00
|
|
|
<p>
|
|
|
|
Changegroups are representations of repository revlog data, specifically
|
2017-03-02 05:37:34 +03:00
|
|
|
the changelog data, root/flat manifest data, treemanifest data, and
|
|
|
|
filelogs.
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
There are 3 versions of changegroups: "1", "2", and "3". From a
|
2017-03-02 05:37:34 +03:00
|
|
|
high-level, versions "1" and "2" are almost exactly the same, with the
|
|
|
|
only difference being an additional item in the *delta header*. Version
|
|
|
|
"3" adds support for revlog flags in the *delta header* and optionally
|
|
|
|
exchanging treemanifests (enabled by setting an option on the
|
|
|
|
"changegroup" part in the bundle2).
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
Changegroups when not exchanging treemanifests consist of 3 logical
|
|
|
|
segments:
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
+---------------------------------+
|
|
|
|
| | | |
|
|
|
|
| changeset | manifest | filelogs |
|
|
|
|
| | | |
|
2017-03-02 05:37:34 +03:00
|
|
|
| | | |
|
2015-12-31 03:15:10 +03:00
|
|
|
+---------------------------------+
|
|
|
|
</pre>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
When exchanging treemanifests, there are 4 logical segments:
|
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
+-------------------------------------------------+
|
|
|
|
| | | | |
|
|
|
|
| changeset | root | treemanifests | filelogs |
|
|
|
|
| | manifest | | |
|
|
|
|
| | | | |
|
|
|
|
+-------------------------------------------------+
|
|
|
|
</pre>
|
|
|
|
<p>
|
2015-12-31 03:15:10 +03:00
|
|
|
The principle building block of each segment is a *chunk*. A *chunk*
|
|
|
|
is a framed piece of data:
|
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
+---------------------------------------+
|
|
|
|
| | |
|
|
|
|
| length | data |
|
2017-03-02 05:37:34 +03:00
|
|
|
| (4 bytes) | (<length - 4> bytes) |
|
2015-12-31 03:15:10 +03:00
|
|
|
| | |
|
|
|
|
+---------------------------------------+
|
|
|
|
</pre>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
All integers are big-endian signed integers. Each chunk starts with a 32-bit
|
|
|
|
integer indicating the length of the entire chunk (including the length field
|
|
|
|
itself).
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
There is a special case chunk that has a value of 0 for the length
|
|
|
|
("0x00000000"). We call this an *empty chunk*.
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
2016-08-07 03:04:22 +03:00
|
|
|
<h2>Delta Groups</h2>
|
2015-12-31 03:15:10 +03:00
|
|
|
<p>
|
|
|
|
A *delta group* expresses the content of a revlog as a series of deltas,
|
|
|
|
or patches against previous revisions.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Delta groups consist of 0 or more *chunks* followed by the *empty chunk*
|
|
|
|
to signal the end of the delta group:
|
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
+------------------------------------------------------------------------+
|
|
|
|
| | | | | |
|
|
|
|
| chunk0 length | chunk0 data | chunk1 length | chunk1 data | 0x0 |
|
2017-03-02 05:37:34 +03:00
|
|
|
| (4 bytes) | (various) | (4 bytes) | (various) | (4 bytes) |
|
2015-12-31 03:15:10 +03:00
|
|
|
| | | | | |
|
2017-03-02 05:37:34 +03:00
|
|
|
+------------------------------------------------------------------------+
|
2015-12-31 03:15:10 +03:00
|
|
|
</pre>
|
|
|
|
<p>
|
|
|
|
Each *chunk*'s data consists of the following:
|
|
|
|
</p>
|
|
|
|
<pre>
|
2017-03-02 05:37:34 +03:00
|
|
|
+---------------------------------------+
|
|
|
|
| | |
|
|
|
|
| delta header | delta data |
|
|
|
|
| (various by version) | (various) |
|
|
|
|
| | |
|
|
|
|
+---------------------------------------+
|
2015-12-31 03:15:10 +03:00
|
|
|
</pre>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
The *delta data* is a series of *delta*s that describe a diff from an existing
|
|
|
|
entry (either that the recipient already has, or previously specified in the
|
2017-05-04 05:07:47 +03:00
|
|
|
bundle/changegroup).
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
The *delta header* is different between versions "1", "2", and
|
|
|
|
"3" of the changegroup format.
|
|
|
|
</p>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
Version 1 (headerlen=80):
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
+------------------------------------------------------+
|
|
|
|
| | | | |
|
|
|
|
| node | p1 node | p2 node | link node |
|
|
|
|
| (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
|
|
|
|
| | | | |
|
|
|
|
+------------------------------------------------------+
|
|
|
|
</pre>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
Version 2 (headerlen=100):
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
+------------------------------------------------------------------+
|
|
|
|
| | | | | |
|
|
|
|
| node | p1 node | p2 node | base node | link node |
|
|
|
|
| (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
|
|
|
|
| | | | | |
|
|
|
|
+------------------------------------------------------------------+
|
|
|
|
</pre>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
Version 3 (headerlen=102):
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
+------------------------------------------------------------------------------+
|
|
|
|
| | | | | | |
|
2017-03-02 05:37:34 +03:00
|
|
|
| node | p1 node | p2 node | base node | link node | flags |
|
2015-12-31 03:15:10 +03:00
|
|
|
| (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (2 bytes) |
|
|
|
|
| | | | | | |
|
|
|
|
+------------------------------------------------------------------------------+
|
|
|
|
</pre>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
The *delta data* consists of "chunklen - 4 - headerlen" bytes, which contain a
|
|
|
|
series of *delta*s, densely packed (no separators). These deltas describe a diff
|
|
|
|
from an existing entry (either that the recipient already has, or previously
|
|
|
|
specified in the bundle/changegroup). The format is described more fully in
|
|
|
|
"hg help internals.bdiff", but briefly:
|
|
|
|
</p>
|
2017-03-09 06:55:48 +03:00
|
|
|
<pre>
|
2017-03-02 05:37:34 +03:00
|
|
|
+---------------------------------------------------------------+
|
|
|
|
| | | | |
|
|
|
|
| start offset | end offset | new length | content |
|
|
|
|
| (4 bytes) | (4 bytes) | (4 bytes) | (<new length> bytes) |
|
|
|
|
| | | | |
|
|
|
|
+---------------------------------------------------------------+
|
2017-03-09 06:55:48 +03:00
|
|
|
</pre>
|
2017-03-02 05:37:34 +03:00
|
|
|
<p>
|
|
|
|
Please note that the length field in the delta data does *not* include itself.
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
In version 1, the delta is always applied against the previous node from
|
|
|
|
the changegroup or the first parent if this is the first entry in the
|
|
|
|
changegroup.
|
|
|
|
</p>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
In version 2 and up, the delta base node is encoded in the entry in the
|
2015-12-31 03:15:10 +03:00
|
|
|
changegroup. This allows the delta to be expressed against any parent,
|
|
|
|
which can result in smaller deltas and more efficient encoding of data.
|
|
|
|
</p>
|
2016-08-07 03:04:22 +03:00
|
|
|
<h2>Changeset Segment</h2>
|
2015-12-31 03:15:10 +03:00
|
|
|
<p>
|
|
|
|
The *changeset segment* consists of a single *delta group* holding
|
2017-03-02 05:37:34 +03:00
|
|
|
changelog data. The *empty chunk* at the end of the *delta group* denotes
|
|
|
|
the boundary to the *manifest segment*.
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
2016-08-07 03:04:22 +03:00
|
|
|
<h2>Manifest Segment</h2>
|
2015-12-31 03:15:10 +03:00
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
The *manifest segment* consists of a single *delta group* holding manifest
|
|
|
|
data. If treemanifests are in use, it contains only the manifest for the
|
|
|
|
root directory of the repository. Otherwise, it contains the entire
|
|
|
|
manifest data. The *empty chunk* at the end of the *delta group* denotes
|
|
|
|
the boundary to the next segment (either the *treemanifests segment* or the
|
|
|
|
*filelogs segment*, depending on version and the request options).
|
|
|
|
</p>
|
|
|
|
<h3>Treemanifests Segment</h3>
|
|
|
|
<p>
|
|
|
|
The *treemanifests segment* only exists in changegroup version "3", and
|
|
|
|
only if the 'treemanifest' param is part of the bundle2 changegroup part
|
|
|
|
(it is not possible to use changegroup version 3 outside of bundle2).
|
|
|
|
Aside from the filenames in the *treemanifests segment* containing a
|
|
|
|
trailing "/" character, it behaves identically to the *filelogs segment*
|
|
|
|
(see below). The final sub-segment is followed by an *empty chunk* (logically,
|
|
|
|
a sub-segment with filename size 0). This denotes the boundary to the
|
|
|
|
*filelogs segment*.
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
2016-08-07 03:04:22 +03:00
|
|
|
<h2>Filelogs Segment</h2>
|
2015-12-31 03:15:10 +03:00
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
The *filelogs segment* consists of multiple sub-segments, each
|
2015-12-31 03:15:10 +03:00
|
|
|
corresponding to an individual file whose data is being described:
|
|
|
|
</p>
|
|
|
|
<pre>
|
2017-03-02 05:37:34 +03:00
|
|
|
+--------------------------------------------------+
|
|
|
|
| | | | | |
|
|
|
|
| filelog0 | filelog1 | filelog2 | ... | 0x0 |
|
|
|
|
| | | | | (4 bytes) |
|
|
|
|
| | | | | |
|
|
|
|
+--------------------------------------------------+
|
2015-12-31 03:15:10 +03:00
|
|
|
</pre>
|
|
|
|
<p>
|
2017-03-02 05:37:34 +03:00
|
|
|
The final filelog sub-segment is followed by an *empty chunk* (logically,
|
|
|
|
a sub-segment with filename size 0). This denotes the end of the segment
|
|
|
|
and of the overall changegroup.
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Each filelog sub-segment consists of the following:
|
|
|
|
</p>
|
|
|
|
<pre>
|
2017-03-02 05:37:34 +03:00
|
|
|
+------------------------------------------------------+
|
|
|
|
| | | |
|
|
|
|
| filename length | filename | delta group |
|
|
|
|
| (4 bytes) | (<length - 4> bytes) | (various) |
|
|
|
|
| | | |
|
|
|
|
+------------------------------------------------------+
|
2015-12-31 03:15:10 +03:00
|
|
|
</pre>
|
|
|
|
<p>
|
|
|
|
That is, a *chunk* consisting of the filename (not terminated or padded)
|
2017-03-02 05:37:34 +03:00
|
|
|
followed by N chunks constituting the *delta group* for this file. The
|
|
|
|
*empty chunk* at the end of each *delta group* denotes the boundary to the
|
|
|
|
next filelog sub-segment.
|
2015-12-31 03:15:10 +03:00
|
|
|
</p>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|
|
|
|
|
2015-06-08 22:55:40 +03:00
|
|
|
$ killdaemons.py
|
2013-03-01 22:42:42 +04:00
|
|
|
|
|
|
|
#endif
|