Thu, 22 Mar 2018 21:10:42 +0900 util: add helper to define proxy functions to utils.*
Yuya Nishihara <yuya@tcha.org> [Thu, 22 Mar 2018 21:10:42 +0900] rev 37078
util: add helper to define proxy functions to utils.*
Wed, 21 Mar 2018 12:36:29 -0700 filemerge: make the 'local' path match the format that 'base' and 'other' use
Kyle Lippincott <spectral@google.com> [Wed, 21 Mar 2018 12:36:29 -0700] rev 37077
filemerge: make the 'local' path match the format that 'base' and 'other' use If we pass a separate '$output' arg to the merge tool, we produce four files: local, base, other, and output. In this situation, 'output' will be the original filename, 'base' and 'other' are temporary files, and previously 'local' would be the backup file (so if 'output' was foo.txt, 'local' would be foo.txt.orig). This change makes it so that 'local' follows the same pattern as 'base' and 'other' - it will be a temporary file either in the `experimental.mergetempdirprefix`-controlled directory with a name like foo~local.txt, or in the normal system-wide temp dir with a name like foo~local.RaNd0m.txt. For the cases where the merge tool does not use an '$output' arg, 'local' is still the destination filename, and 'base' and 'other' are unchanged. The hope is that this is much easier for people to reason about; rather than having a tool like Meld pop up with three panes, one of them with the filename "foo.txt.orig", one with the filename "foo.txt", and one with "foo~other.StuFf2.txt", we can (when the merge temp dir stuff is enabled) make it show up as "foo~local.txt", "foo.txt" and "foo~other.txt", respectively. This also opens the door to future customization, such as getting the operation-provided labels and a hash prefix into the filenames (so we see something like "foo~dest.abc123", "foo.txt", and "foo~src.d4e5f6"). Differential Revision: https://phab.mercurial-scm.org/D2889
Wed, 21 Mar 2018 22:36:26 -0400 test-strip-narrow: adjust bundle removal for Windows test stability
Matt Harbison <matt_harbison@yahoo.com> [Wed, 21 Mar 2018 22:36:26 -0400] rev 37076
test-strip-narrow: adjust bundle removal for Windows test stability MSYS was mangling $TESTTMP to C:\\Users\\...\\test-narrow-strip.t-flat/, which caused `rm` to fail. The -f was suppressing -ENOENT, so the only clue something was wrong was when 2 bundles were applied via `hg unbundle` on line 91, instead of just 1. This changed the text output of `hg unbundle`. The first `rm` wasn't causing an issue, but is changed for consistency with the rest of the file.
Thu, 15 Mar 2018 21:38:57 +0900 templater: drop symbols which should be overridden by new 'ctx' (issue5612)
Yuya Nishihara <yuya@tcha.org> [Thu, 15 Mar 2018 21:38:57 +0900] rev 37075
templater: drop symbols which should be overridden by new 'ctx' (issue5612) This problem is caused by impedance mismatch between the templater and the formatter interface, which is that the template keywords are generally evaluated dynamically, but the formatter puts static values into a template mapping. This patch avoids the problem by removing conflicting values from a mapping dict when a 'ctx' is switched.
Thu, 15 Mar 2018 21:22:52 +0900 templater: factor out function to create mapping dict for nested evaluation
Yuya Nishihara <yuya@tcha.org> [Thu, 15 Mar 2018 21:22:52 +0900] rev 37074
templater: factor out function to create mapping dict for nested evaluation overlaymap() is the hook point to drop mapping items conflicting with the default keywords which have to be re-evaluated with new 'ctx' resource.
Thu, 15 Mar 2018 20:43:39 +0900 templater: introduce resourcemapper class
Yuya Nishihara <yuya@tcha.org> [Thu, 15 Mar 2018 20:43:39 +0900] rev 37073
templater: introduce resourcemapper class A couple more functions will be added later to work around nested mapping bugs such as the issue 5612.
Thu, 15 Mar 2018 20:27:38 +0900 log: do no expect templateresources() returning a dict
Yuya Nishihara <yuya@tcha.org> [Thu, 15 Mar 2018 20:27:38 +0900] rev 37072
log: do no expect templateresources() returning a dict The resources dict will be replaced with new resource mapper object, which won't implement __getitem__(key). Share the whole resources object with _graphnodeformater() to make porting easier.
Fri, 16 Mar 2018 23:11:55 +0900 templatekw: mark _showlist() as deprecated (API)
Yuya Nishihara <yuya@tcha.org> [Fri, 16 Mar 2018 23:11:55 +0900] rev 37071
templatekw: mark _showlist() as deprecated (API) .. api:: ``templatekw._showlist()`` is deprecated in favor of ``templateutil._showcompatlist()``, which takes ``context`` in place of ``templ``.
Fri, 16 Mar 2018 23:09:21 +0900 templater: drop 'templ' from resources dict
Yuya Nishihara <yuya@tcha.org> [Fri, 16 Mar 2018 23:09:21 +0900] rev 37070
templater: drop 'templ' from resources dict Partially resolves cycle, templ -> context -> templ. This will make it easier to replace the resources dict with new immutable resource mapper interface.
Fri, 16 Mar 2018 23:01:51 +0900 templatekw: stop using _showlist() which is about to be deprecated
Yuya Nishihara <yuya@tcha.org> [Fri, 16 Mar 2018 23:01:51 +0900] rev 37069
templatekw: stop using _showlist() which is about to be deprecated Use the new context-based API instead.
Fri, 16 Mar 2018 22:47:15 +0900 templater: use template context to render old-style list template
Yuya Nishihara <yuya@tcha.org> [Fri, 16 Mar 2018 22:47:15 +0900] rev 37068
templater: use template context to render old-style list template Prepares for dropping the 'templ' resource. This means old-style list templates are processed by the same engine class as the one for the list node. I think that's fine since templates for the same list should be tightly coupled, and I believe the extension point for the engine classes isn't actually used. Now templatekw._showlist() is a compatibility wrapper for _showcompatlist(), and will be deprecated soon. The function is still marked as private since I plan to change the interface to get rid of closures capturing context and mapping.
Fri, 16 Mar 2018 22:36:40 +0900 templater: add context.preload(t) to test if the specified template exists
Yuya Nishihara <yuya@tcha.org> [Fri, 16 Mar 2018 22:36:40 +0900] rev 37067
templater: add context.preload(t) to test if the specified template exists I'm going to remove 'templ' from the resources dict because it is the only resource that the caller can't provide. This also implies that putting 'templ' into the resources dict creates a reference cycle. context.preload(t) will be used in place of templater.__contains__().
(0) -30000 -10000 -3000 -1000 -300 -100 -12 +12 +100 +300 +1000 +3000 +10000 tip