##// END OF EJS Templates
shelve: use rebase instead of merge (issue4068)...
shelve: use rebase instead of merge (issue4068) Previously, shelve used merge to unshelve things. This meant that if you shelved changes on one branch, then unshelved on another, all the changes from the first branch would be present in the second branch, and not just the shelved changes. The fix is to use rebase to pick the shelve commit off the original branch and place it on top of the new branch. This means only the shelved changes are brought across. This has the side effect of fixing several other issues in shelve: - you can now unshelve into a file that already has pending changes - unshelve a mv/cp now has the correct dirstate value (A instead of M) - you can now unshelve to an ancestor of the shelve - unshelve now no longer deletes untracked .orig files Updates tests and adds a new one to cover the issue. The test changes fall into a few categories: - I removed some excess output - The --continue/--abort state is a little different, so the parents and dirstate needed updating - Removed some untracked files at certain points that cluttered the output

File last commit:

r19296:da16d21c stable
r19961:1d7a36ff stable
Show More
extensions.txt
35 lines | 1.2 KiB | text/plain | TextLexer
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
See :hg:`help config` for more information on configuration files.
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 = !