Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 22:09:57 +0900] rev 27728
paths: port to generic templater
Embedded passwords are masked only in plain output because we'll want raw
values in machine-readable format such as JSON. For custom template, we can
add a filter to mask passwords (e.g. "{url|hidepassword}").
path.rawloc field is called as "url" than "path" because we have "pushurl"
sub-option. Also, "name" and "url" are not allowed as sub-options as they
conflict with the field names.
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 23:01:19 +0900] rev 27727
paths: merge conditions that select visibility of fields
Truth table (extracted from the original implementation):
search quiet name path subopt
------ ----- ---- ---- ------
f f T T T
f T T f f
T f f T f
T T f f f
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 22:02:32 +0900] rev 27726
paths: use single loop for both search=None|pattern cases
This will help porting to the formatter API. This patch adds test for empty
pathitems to make sure "hg paths" never say "not found!".
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 21:55:57 +0900] rev 27725
paths: reorder else clause for readability of subsequent patches
This prepares for porting to the formatter API. Future patches will use a
single loop to handle both search=None|pattern cases because formatter output
should be the same. "pathitems" will be switched instead.
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 21:54:00 +0900] rev 27724
paths: drop ui.status label from output of "hg paths name"
We just need to not print path if --quiet. ui.status label is unwanted.
Sean Farley <sean@farley.io> [Wed, 06 Jan 2016 11:01:55 -0800] rev 27723
unionrepo: fix wrong rev being checked in iscensored (issue5024)
Matt Harbison <matt_harbison@yahoo.com> [Mon, 11 Jan 2016 21:00:29 -0500] rev 27722
summary: print unstable, bumped and divergent as unconditionally plural
This aligns with the unconditional plural output for the update line contents,
as well as the incoming/outgoing bookmarks line. It also matches the message
in evolve's summary hook as of 4f83b2d2d20d. (Though I thought this was removed
recently?)
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 11 Jan 2016 18:16:38 -0800] rev 27721
debugshell: disable demand importer when importing debugger
For reasons I can't explain (but likely have something to do with a
combination of __import__ inferring default values for arguments and
the demand importer mechanism further assuming defaults), the demand
importer isn't playing well with IPython. Without this patch, we get
a failure "ValueError: Attempted relative import in non-package" when
attempting to import "IPython." The stack has numerous demandimport
calls on it and adding "IPython" to the exclude list in demandimport
isn't enough to make the problem go away, which means the issue is
likely somewhere in the bowells of IPython. It's easier to just disable
the demand importer when importing the debugger.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 04 Jan 2016 10:13:29 -0800] rev 27720
status: change + back out == clean (API)
After backing out a change, so the file contents is equal to a
previous revision of itself, we currently report the status between
the two equal revisions as modified. This is because
context._buildstatus() reports any file whose new nodeid is not equal
to _newnode as modified. That magic nodeid is given only to files
added or modified in the working directory, so any file whose nodeid
has changed between two revisions will be reported as modified.
Fix by simply comparing the file contents for all cases where the
nodeid changed, whether they are in the working copy or committed.
Marking with (API) as it subtly changes the semantics of the method.
Martin von Zweigbergk <martinvonz@google.com> [Sat, 09 Jan 2016 22:58:10 -0800] rev 27719
convert: use manifest.diff() instead of ctx.status()
mercurial_source.getchanges() seems to care about files whose nodeid
has changed even if their contents has not (i.e. it has been
reverted/backed out). The method uses ctx1.status(ctx2) to find
differencing files. However, that method is currently broken and
reports reverted changes as modified. In order to fix that method, we
first need to rewrite getchanges() using manifest.diff(), which does
report reverted files as modified (because it's about differences in
the manifest, so about nodeids).