rebase: add --stop option to stop rebase at any point (
issue5206)
Before this patch, during a rebase if you get a point where you can't
figure out what to do next, then either you had to complete your series
or abandon all the work you have done during this rebase.
Now, with this feature you can stop at any point by keeping the rebased
csets and mark original csets as obsolete. And if you don't have evolution
extension enabled then you can use --keep option as an alternative which
will keep original csets too, instead of marking them obsolete.
Differential Revision: https://phab.mercurial-scm.org/D3959
statprof: cleanup string construction
Use string substitutions instead of string additions.
addremove: add associated color for the new labels
We use classic color: green is added, red is removed.
remove: add a label for messages about removed files
Keeping consistency between addremove and remove seems a good idea.
add: add a label for messages about added files
Keeping consistency between addremove and add seems a good idea.
addremove: add labels for messages about added and removed files
This is the first step to add color for add and remove output.
revlog: filter out "invalid" delta base candidates
There are bases that we know won't produce a good delta chain. For example, if
the base is already bigger than twice the size of the text we store, we know
the resulting delta chain will never be valid.
We might make the check a bit more powerful and generic in the future, but
this looks a good start.
In particular, empty file (size 0) will never find a good base, so we should
stop spending time trying to find one.
revlog: use a symbolic constant for the deltas/text ration
We are about to use it somewhere else, we should as well make it easier to
access and change.
revlog: do not search for delta for empty content
We won't find any useful base to store an empty text. So we should not even try
to.
revlog: split and document good delta conditional
The logic is still identical, but having each conditional on its own helps to
document them and will help to edit them in the future.