Jun Wu <quark@fb.com> [Fri, 06 Jan 2017 16:11:03 +0000] rev 30726
chg: send type information via S channel (BC)
Previously S channel is only used to send system commands. It will also be
used to send pager commands. So add a type parameter.
This breaks older chg clients. But chg and hg should always come from a
single commit and be packed into a single package. Supporting running
inconsistent versions of chg and hg seems to be unnecessarily complicated
with little benefit. So just make the change and assume people won't use
inconsistent chg with hg.
Valters Vingolds <valters@vingolds.ch> [Sun, 01 Jan 2017 13:16:29 +0100] rev 30725
rebase: fail-fast the pull if working dir is not clean (BC)
Refuse to run 'hg pull --rebase' if there are uncommitted changes:
so that instead of going ahead with fetching changes and then suddenly aborting
the rebase, we can warn user of uncommitted changes (or unclean repo state)
right up front.
In tests, we create a 'histedit' session to verify that also an unfinished
state is detected and handled.
Yuya Nishihara <yuya@tcha.org> [Fri, 06 Jan 2017 22:50:04 +0900] rev 30724
commit: fix unmodified message detection for the "--- >8 ----" magic
We need the raw editortext to be compared with the templatetext.
Yuya Nishihara <yuya@tcha.org> [Fri, 06 Jan 2017 22:44:39 +0900] rev 30723
commit: update test to actually modify template text
We have a check for unmodified commit message (introduced by
bec1a579ebc4),
which should be enabled for the "--- >8 ---" magic but currently not.
Jun Wu <quark@fb.com> [Mon, 26 Dec 2016 00:25:44 +0000] rev 30722
pager: wrap ui._runpager
As discussed at [1], ui._runpager will be the new low-level API accepting a
pager command to actually run the pager. And ui.pager is the high-level API
which reads config directly from self.
This change is necessary for chgserver to override _runpager cleanly.
[1]: www.mercurial-scm.org/pipermail/mercurial-devel/2016-December/091656.html
Denis Laxalde <denis@laxalde.org> [Sat, 07 Jan 2017 12:24:15 +0100] rev 30721
summary: use ui.label and join to write evolution troubles
Follow-up on
7b526670f540 to avoid a convoluted loop.
Denis Laxalde <denis@laxalde.org> [Sat, 07 Jan 2017 12:07:56 +0100] rev 30720
log: drop unnecessary ui.note label from "trouble: " line
Follow-up on
f05ede08dcf7 and
6d0b1a69f98c.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 04 Jan 2017 16:47:49 +0100] rev 30719
revset: add a followlines(file, fromline, toline[, rev]) revset
This revset returns the history of a range of lines (fromline, toline) of a
file starting from `rev` or the current working directory.
Added tests in test-annotate.t which already contains a reasonably complex
repository.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 28 Dec 2016 23:03:37 +0100] rev 30718
context: add a `blockancestors(fctx, fromline, toline)` function
This yields ancestors of `fctx` by only keeping changesets touching the file
within specified linerange = (fromline, toline).
Matching revisions are found by inspecting the result of `mdiff.allblocks()`,
filtered by `mdiff.blocksinrange()`, to find out if there are blocks of type
"!" within specified line range.
If, at some iteration, an ancestor with an empty line range is encountered,
the algorithm stops as it means that the considered block of lines actually
has been introduced in the revision of this iteration. Otherwise, we finally
yield the initial revision of the file as the block originates from it.
When a merge changeset is encountered during ancestors lookup, we consider
there's a diff in the current line range as long as there is a diff between
the merge changeset and at least one of its parents (in the current line
range).
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 03 Jan 2017 18:15:58 +0100] rev 30717
mdiff: add a "blocksinrange" function to filter diff blocks by line range
The function filters diff blocks as generated by mdiff.allblock function based
on whether they are contained in a given line range based on the "b-side" of
blocks.
Jun Wu <quark@fb.com> [Fri, 06 Jan 2017 16:19:41 +0000] rev 30716
run-tests: unset CHGDEBUG
With CHGDEBUG, chg outputs much more stuff and the test could fail running
with --chg. So unset the environment variable.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 06 Jan 2017 14:35:22 +0100] rev 30715
summary: add evolution "troubles" information to summary output
Extend the "parent: " lines in summary with the list of evolution "troubles"
in parentheses, when the parent is troubled.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 06 Jan 2017 14:34:34 +0100] rev 30714
summary: use the same labels as log command in "parent: " line
Re-use the cmdutil._changesetlabels function introduced in
5289fd78017a to
have consistent labels between the "changeset: " line in log command and the
"parent: " line in summary.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 06 Jan 2017 13:50:52 +0100] rev 30713
templates: display evolution "troubles" in command line style
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 06 Jan 2017 13:50:16 +0100] rev 30712
templatekw: add a "troubles" template keyword
The "troubles" template keyword returns a list of evolution troubles.
It is EXPERIMENTAL, as anything else related to changeset evolution.
Test it in test-obsolete.t which has troubled changesets.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 06 Jan 2017 15:48:22 +0100] rev 30711
test: test "trouble: " line in log output with multiple troubles
Follow-up on
f05ede08dcf7.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 06 Jan 2017 12:36:21 +0100] rev 30710
cmdutil: add missing "i18n" comment about "trouble: " line
Follow-up on
f05ede08dcf7 per late review.
Valters Vingolds <valters@vingolds.ch> [Fri, 06 Jan 2017 09:58:41 +0100] rev 30709
rebase: use repo.vfs.exists in 'hg summary' hook
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 28 Dec 2016 15:48:17 -0700] rev 30708
hgweb: link to raw-file on annotation page (BC)
Every other template has the "raw" link load "raw-file." However,
fileannotate.tmpl's "raw" link loads "raw-annotate." This feels
inconsistent and wrong.
As far as I can tell, linking to the "raw annotate" view has occurred
since 2006.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 04 Jan 2017 10:35:04 -0800] rev 30707
repair: combine two loops over changelog revisions
This just saves a few lines.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 04 Jan 2017 10:07:12 -0800] rev 30706
repair: speed up stripping of many roots
repair.strip() expects a set of root revisions to strip. It then
builds the full set of descedants by walking the descandants of
each. It is rare that more than a few roots get passed in, but if that
happens, it will wastefully walk the changelog for each root. So let's
just walk it once.
I noticed this because the narrowhg extension was passing not only
roots, but all the commits to strip. When there were tens of thousands
of commits to strip, this resulted in quadratic behavior with that
extension.
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Jan 2017 09:56:40 +0800] rev 30705
make: remove targets for building packages for ubuntu wily (end of life)
Ubuntu 15.10 (Wily Werewolf) came out on October 22, 2015 and reached end of
life on July 28, 2016 [1]. Users were encouraged to upgrade to 16.04 (Xenial).
PPA doesn't allow new uploads targeting 15.10 anymore.
[1]: https://wiki.ubuntu.com/Releases
Sean Farley <sean@farley.io> [Wed, 04 Jan 2017 22:32:42 -0600] rev 30704
config: add docs for ignoring all text below in the editor
This is an example of how to use the new skip-from-there string for ignoring the
diff in a commit message.
Sean Farley <sean@farley.io> [Sat, 31 Dec 2016 15:36:36 -0600] rev 30703
cmdutil: add special string that ignores rest of text
Similar to git, we add a special string:
HG: ------------------------ >8 ------------------------
that means anything below it is ignored in a commit message.
This is helpful for integrating with third-party tools that display the