##// END OF EJS Templates
split: new extension to split changesets...
split: new extension to split changesets This diff introduces an experimental split extension to split changesets. The implementation is largely inspired by Laurent Charignon's implementation for mutable-history (changeset 9603aa1ecdfd54b0d86e262318a72e0a2ffeb6cc [1]) This version contains various improvements: - Rebase by default. This is more friendly for new users. Split won't lead to merge conflicts so a rebase won't give the user more trouble. This has been on by default at Facebook for months now and seems to be a good UX improvement. The rebase skips obsoleted or orphaned changesets, which can avoid issues like allowdivergence, merge conflicts, etc. This is more flexible because the user can decide what to do next (see the last test case in test-split.t) - Remove "Done split? [y/n]" prompt. That could be detected by checking `repo.status()` instead. - Works with obsstore disabled. Without obsstore, split uses strip to clean up old nodes, and it can even handle split a non-head changeset with "allowunstable" disabled, since it runs a rebase to solve the "unstable" issue in a same transaction. - More friendly editor text. Put what has been already split into the editor text so users won't lost track about where they are. [1]: https://bitbucket.org/marmoute/mutable-history/commits/9603aa1ecdfd54b Differential Revision: https://phab.mercurial-scm.org/D1082

File last commit:

r32608:85b97803 stable
r35471:02ea370c @7 default
Show More
pager.txt
43 lines | 1.4 KiB | text/plain | TextLexer
Matt Harbison
help: attempt to clarify that pager usage is not output length based...
r32138 Some Mercurial commands can produce a lot of output, and Mercurial will
Augie Fackler
pager: move most help to a new help topic and deprecate extension
r31061 attempt to use a pager to make those commands more pleasant.
To set the pager that should be used, set the application variable::
[pager]
pager = less -FRX
Xavier Lepaul
help: clarify the choice of pager...
r32608 If no pager is set in the user or repository configuration, Mercurial uses the
environment variable $PAGER. If $PAGER is not set, pager.pager from the default
or system configuration is used. If none of these are set, a default pager will
be used, typically `less` on Unix and `more` on Windows.
Augie Fackler
pager: move most help to a new help topic and deprecate extension
r31061
Matt Harbison
help: document color/pager pitfalls on Windows...
r32137 .. container:: windows
On Windows, `more` is not color aware, so using it effectively disables color.
MSYS and Cygwin shells provide `less` as a pager, which can be configured to
support ANSI color codes. See :hg:`help config.color.pagermode` to configure
the color mode when invoking a pager.
Augie Fackler
pager: move most help to a new help topic and deprecate extension
r31061 You can disable the pager for certain commands by adding them to the
pager.ignore list::
[pager]
ignore = version, help, update
To ignore global commands like :hg:`version` or :hg:`help`, you have
to specify them in your user configuration file.
To control whether the pager is used at all for an individual command,
FUJIWARA Katsunori
help: apply bulk fixes for indentation and literal blocking issues...
r32085 you can use --pager=<value>:
Augie Fackler
pager: move most help to a new help topic and deprecate extension
r31061
- use as needed: `auto`.
- require the pager: `yes` or `on`.
- suppress the pager: `no` or `off` (any unrecognized value
FUJIWARA Katsunori
help: apply bulk fixes for indentation and literal blocking issues...
r32085 will also work).
Augie Fackler
pager: add a config knob to just globally turn off the pager
r31062
To globally turn off all attempts to use a pager, set::
Pierre-Yves David
pager: rename 'pager.enable' to 'ui.paginate'...
r32105 [ui]
paginate = never
Augie Fackler
pager: add a config knob to just globally turn off the pager
r31062
which will prevent the pager from running.