Matt Harbison <matt_harbison@yahoo.com> [Tue, 19 Nov 2019 14:59:23 -0500] rev 43720
shelve: add the missing `create` parameter to the bundlerepo constructor
Caught by pytype.
Differential Revision: https://phab.mercurial-scm.org/D7458
Matt Harbison <matt_harbison@yahoo.com> [Tue, 19 Nov 2019 14:36:22 -0500] rev 43719
shelve: fix a missing variable in the exception handler for delete
Caught by pytype. I haven't paid much attention to the progress of this
extension, but I *think* this was the intent.
Differential Revision: https://phab.mercurial-scm.org/D7457
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 15 Nov 2019 15:58:56 -0500] rev 43718
hgweb: add diffs to the json changeset template
While it's possible to get the diff for each file individually via an
obscure url that I'm not even sure is documented, (e.g.
diff/{rev}/{filename}?style=json ), it is more convenient to provide
the full diff from the changeset view. This is already normally
computed for other non-JSON templates, so it seems like an oversight
to omit it for the JSON one.
The output format is a bit unwieldy but it's consistent with the
existing format output by the aforementioned obscure url.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 15 Nov 2019 15:56:25 -0500] rev 43717
hgweb: add files to the json changeset template
As far as I can tell, it's currently impossible via JSON to figure out
what files are touched by a particular revision. Reusing the
filenodelink and filenolink templates from the other hgweb templates
should provide this information.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 15 Nov 2019 16:02:01 -0500] rev 43716
hgweb: add a status property to file list context
The web templates merely indicate if files touched by this revision
are in the commit or not, i.e. if they are removed. It would be
helpful to have more context and also indicate whether the files are
added, modified, or removed.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 14:50:13 -0800] rev 43715
match: remove explicitdir attribute
No one sets it or reads it anymore.
Differential Revision: https://phab.mercurial-scm.org/D7441
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 15:36:14 -0800] rev 43714
dirstate: stop caring about match.explicitdir
No one passes it in anymore.
Differential Revision: https://phab.mercurial-scm.org/D7440
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 15:36:09 -0800] rev 43713
dirstate: include explicit matches in match.traversedir calls
The caller should not have to register to get both explicit and
non-explicit matches.
Differential Revision: https://phab.mercurial-scm.org/D7439
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 14:47:31 -0800] rev 43712
commit: drop unused "vdirs" argument from repo.checkcommitpatterns()
Differential Revision: https://phab.mercurial-scm.org/D7438
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 14:41:00 -0800] rev 43711
commit: rewrite check for `hg ci <path>` being a directory
The matcher API is complicated by match.bad, match.explicitdir, and
match.traversedir. We already have very few users of
match.explicitdir. By rewriting this check we get close to being able
to remove match.explicitdir.
This may make the check slower, but I think that will be very
marginal.
Disclosure: I actually wrote this patch to solve a bug we've seen with
an internal extension. The internal extension overrides the dirstate
walk to only walk the files that our FUSE tells us are modified. That
led to "vdirs" not getting populated as this code expected. I have
wanted to get rid of match.explicitdir for a very long time, though.
Differential Revision: https://phab.mercurial-scm.org/D7437