Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 14:08:24 -0500] rev 31187
ui: fix opts labeling on ui.warn et al for Python 3
This is a step towards fixing extension load warnings on Python
3. Note that I suspect there are still some bugs in this area and that
things like color won't work, but the code at least executes and
prints text to the console correctly now.
Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 12:55:11 -0500] rev 31186
config: add sanity assert that files are opened as binary
This helps with some debugging in Python 3, and shouldn't hurt
anything in Python 2. The unusual construction using getattr is done
so that StringIO/BytesIO instances can be used as well as real files.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 06 Mar 2017 23:21:27 -0800] rev 31185
update: for "noconflict" updates, print "conflicting changes" on conflict
With experimental.updatecheck=noconflict, if the update is aborted
because of conlicts, "uncommitted changes" is not quite
accurate. Let's use "conflicting changes" instead. Also fix the hint
to recomment --clean, not --merge, since that's what we do for other
failed updates.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 06 Mar 2017 23:19:57 -0800] rev 31184
tests: fix test-update-branches to remove non-conflicting file
I was clearly very sloppy when I wrote the test case for
experimental.updatecheck=noconflict. The test case that checks that
one can move between commits with a removed file was deleting a file
that was modified between the source and target commits, which
resulted in a "change/delete" conflict. Since that is a conlict, the
update correctly failed. Let's fix the test by removing a file that is
not modified between the two commits.
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 17:08:42 +0900] rev 31183
branches: populate all template keywords in formatter
This is a usage example of fm.context().
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 17:00:07 +0900] rev 31182
formatter: add support for changeset templating
Some formatter-based commands provide fields that are identical to the ones
defined in templatekw, but we had to specify them manually to support all
changeset-based template keywords.
This patch adds fm.context() that populates all templatekw. These keywords
are available only in template output, so we still need to set important
keywords via fm.data() if they should be available in e.g. JSON output.
Currently fm.context() takes only 'ctx' argument. It will eventually be
extended to take 'fctx' to support file-based keywords (e.g. {path}) seen
in hgweb.
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 16:38:26 +0900] rev 31181
templatekw: move defaulttmpl constant from changeset_templater
These templates are used when rendering inner lists of some template keywords,
so it makes sense to define them in templatekw. This allows us to reuse them
to create a templateformatter knowing changectx.
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 22:04:30 +0900] rev 31180
formatter: drop filters argument from maketemplater()
It's unused now. I want to keep the high-level API simple.
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 16:26:58 +0900] rev 31179
templater: port formatnode filter from changeset_templater
This slightly reduces the difference between changeset_templater and formatter,
and helps extending formatter to support changeset templating.
New formatnode() is not a template filter, but a function since a filter
cannot access to ui. And it's marked as DEPRECATED since I think it exists
only for compatibility reasons.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Feb 2017 00:05:55 -0800] rev 31178
update: allow setting default update check to "noconflict"
The new value allows update (linear or not) as long as they don't
result in file merges.
I'm hoping that this value can some day become the default.