Sat, 31 Mar 2018 23:26:07 -0700 fileset: use context-returning revpair()
Martin von Zweigbergk <martinvonz@google.com> [Sat, 31 Mar 2018 23:26:07 -0700] rev 37259
fileset: use context-returning revpair() Differential Revision: https://phab.mercurial-scm.org/D3011
Sat, 31 Mar 2018 23:31:28 -0700 status: use context-returning revpair()
Martin von Zweigbergk <martinvonz@google.com> [Sat, 31 Mar 2018 23:31:28 -0700] rev 37258
status: use context-returning revpair() Differential Revision: https://phab.mercurial-scm.org/D3010
Sat, 31 Mar 2018 23:49:44 -0700 diff: simplify by converting contexts to nodeids a little later
Martin von Zweigbergk <martinvonz@google.com> [Sat, 31 Mar 2018 23:49:44 -0700] rev 37257
diff: simplify by converting contexts to nodeids a little later Differential Revision: https://phab.mercurial-scm.org/D3009
Sat, 31 Mar 2018 23:25:02 -0700 diff: use context-returning revpair()
Martin von Zweigbergk <martinvonz@google.com> [Sat, 31 Mar 2018 23:25:02 -0700] rev 37256
diff: use context-returning revpair() Differential Revision: https://phab.mercurial-scm.org/D3008
Sat, 31 Mar 2018 23:38:53 -0700 extdiff: use context-returning revpair()
Martin von Zweigbergk <martinvonz@google.com> [Sat, 31 Mar 2018 23:38:53 -0700] rev 37255
extdiff: use context-returning revpair() Differential Revision: https://phab.mercurial-scm.org/D3007
Sat, 31 Mar 2018 23:10:46 -0700 scmutil: make revpair() return context objects (API)
Martin von Zweigbergk <martinvonz@google.com> [Sat, 31 Mar 2018 23:10:46 -0700] rev 37254
scmutil: make revpair() return context objects (API) Differential Revision: https://phab.mercurial-scm.org/D3006
Sat, 31 Mar 2018 23:37:25 -0700 scmutil: introduce deprecated alias for revpair()
Martin von Zweigbergk <martinvonz@google.com> [Sat, 31 Mar 2018 23:37:25 -0700] rev 37253
scmutil: introduce deprecated alias for revpair() revsingle() returns a context object, revpair() returns nodeids, revrange() returns integer revisions (in a revset). I'm going to reduce this inconsistency by making revpair() return context objects. Changing the return type is not nice to extensions, so this patch introduces a nodeid-returning version of revpair() that they can detect and use. Update callers to the new function so we can change revpair() itself and then migrate them back one by one. Differential Revision: https://phab.mercurial-scm.org/D3005
Sat, 31 Mar 2018 23:58:08 -0400 lfs: ensure the transfer request is for a known URI
Matt Harbison <matt_harbison@yahoo.com> [Sat, 31 Mar 2018 23:58:08 -0400] rev 37252
lfs: ensure the transfer request is for a known URI Since the dispatching code only checks the beginning of the string, this enforces that there's only one more path component.
Sat, 31 Mar 2018 23:47:56 -0400 lfs: avoid an improper usage of os.path.basename() to parse a URI
Matt Harbison <matt_harbison@yahoo.com> [Sat, 31 Mar 2018 23:47:56 -0400] rev 37251
lfs: avoid an improper usage of os.path.basename() to parse a URI
Sat, 31 Mar 2018 15:20:43 -0400 lfs: add an experimental knob to disable blob serving
Matt Harbison <matt_harbison@yahoo.com> [Sat, 31 Mar 2018 15:20:43 -0400] rev 37250
lfs: add an experimental knob to disable blob serving The use case here is the server admin may want to store the blobs elsewhere. As it stands now, the `lfs.url` config on the client side is all that enforces this (the web.allow-* permissions aren't able to block LFS blobs without also blocking normal hg traffic). The real solution to this is to implement the 'verify' action on the client and server, but that's not a near term goal. Whether this is useful in its own right, and should be promoted out of experimental at some point is TBD. Since the other two tests that deal with LFS and `hg serve` are already complex and have #testcases, this seems like a good time to start a new test dedicated to access checks against the server. Instead of conditionally wrapping the wire protocol handler, I put this in the handler because I'd still like to bring the annotations in from the evolve extension in order to set up the wrapping. The 400 status probably isn't great, but that's what it would be for existing `hg serve` instances without support for serving blobs.
Sat, 31 Mar 2018 13:01:20 -0400 stringutil: edit comment to reflect actual data type name
Connor Sheehan <sheehan@mozilla.com> [Sat, 31 Mar 2018 13:01:20 -0400] rev 37249
stringutil: edit comment to reflect actual data type name In development the data type used to hold an email/name pair was called a "mailmaptup" since it was implemented as a namedtuple. The implementation has since been changed to use an @attr.s decorated class named mailmapping. This commit changes a comment to reflect this change. Differential Revision: https://phab.mercurial-scm.org/D3004
Sat, 31 Mar 2018 11:36:55 -0400 stringutil: improve check for failed mailmap line parsing
Connor Sheehan <sheehan@mozilla.com> [Sat, 31 Mar 2018 11:36:55 -0400] rev 37248
stringutil: improve check for failed mailmap line parsing The existing check for a bad mailmap file entry fails with inputs like b'>@<'. This commit adds a function to check if a sufficient amount of information has been parsed from a mailmap file entry. At minimum, one email must be found (assumed to be the commit email). If email is not empty and no names are found, then there must be two emails. If there are at least one email and name, the mapping is valid. Differential Revision: https://phab.mercurial-scm.org/D3003
Sat, 31 Mar 2018 10:21:39 -0400 stringutil: rename local email/names variables to their plural forms
Connor Sheehan <sheehan@mozilla.com> [Sat, 31 Mar 2018 10:21:39 -0400] rev 37247
stringutil: rename local email/names variables to their plural forms email and name variables are renamed to emails and names (respectively). This is because the email variable name shadows the email function within the stringutil module. Since we are renaming email, we also rename name for consistency. Differential Revision: https://phab.mercurial-scm.org/D3002
Sat, 31 Mar 2018 10:13:42 -0400 templatefuncs: remove redundant "or author" from mailmap return statement
Connor Sheehan <sheehan@mozilla.com> [Sat, 31 Mar 2018 10:13:42 -0400] rev 37246
templatefuncs: remove redundant "or author" from mailmap return statement Differential Revision: https://phab.mercurial-scm.org/D3001
Sat, 24 Feb 2018 19:56:59 -0500 lfs: add the 'Content-Type' header called out in the file transfer spec
Matt Harbison <matt_harbison@yahoo.com> [Sat, 24 Feb 2018 19:56:59 -0500] rev 37245
lfs: add the 'Content-Type' header called out in the file transfer spec https://github.com/git-lfs/git-lfs/blob/master/docs/api/basic-transfers.md#uploads
Sun, 25 Feb 2018 23:44:02 -0500 lfs: improve the client message when the server signals an object error
Matt Harbison <matt_harbison@yahoo.com> [Sun, 25 Feb 2018 23:44:02 -0500] rev 37244
lfs: improve the client message when the server signals an object error Two things here. First, the previous message included a snippet of JSON, which tends to be long (and in the case of lfs-test-server, has no error message). Instead, give a concise message where possible, and leave the JSON to a debug output. Second, the server can signal issues other than a missing individual file. This change shows a corrupt file, but I'm debating letting the corrupt file get downloaded, because 1) the error code doesn't really fit, and 2) having it locally makes forensics easier. Maybe need a config knob for that.
Sat, 31 Mar 2018 15:54:26 -0400 check-code: tighten the check for `ls -R`
Matt Harbison <matt_harbison@yahoo.com> [Sat, 31 Mar 2018 15:54:26 -0400] rev 37243
check-code: tighten the check for `ls -R` Otherwise, this was flagging `... lfs.serve=False -R server ...` in the tests.
Sat, 31 Mar 2018 16:41:17 +0530 infinitepush: add tests for `hg pull -r <rev>`
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 31 Mar 2018 16:41:17 +0530] rev 37242
infinitepush: add tests for `hg pull -r <rev>` This patch adds test for `hg pull -r <rev>` when the infinitepush extension is not present on the client side and the server by defaults pushes all the incoming push to bundlestore. As the tests show, if a the changeset was applied to the server, that can be pulled, but if a changeset is in the bundlestore we cannot pull that yet. We should support that. Differential Revision: https://phab.mercurial-scm.org/D2998
Sat, 31 Mar 2018 14:56:57 +0530 infinitepush: use bundleoperation.source instead of hacking on tr
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 31 Mar 2018 14:56:57 +0530] rev 37241
infinitepush: use bundleoperation.source instead of hacking on tr Previous patches added a soutce attribute to bundle2.bundleoperation class which stores the command which leads to current bundleoperation. Let's use that to decide whether a processing a `hg unbundle` or not instead of hacking on transaction. Differential Revision: https://phab.mercurial-scm.org/D2997
Sat, 31 Mar 2018 14:54:12 +0530 bundle2: make source a mandatory argument for bundle2.applybundle() (API)
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 31 Mar 2018 14:54:12 +0530] rev 37240
bundle2: make source a mandatory argument for bundle2.applybundle() (API) Currently all the callers in the core pass the source argument, making it mandatory will help us storing right source value in bundleoperation() class. Differential Revision: https://phab.mercurial-scm.org/D2996
Sat, 31 Mar 2018 14:51:34 +0530 bundleoperation: pass the source argument from all the users
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 31 Mar 2018 14:51:34 +0530] rev 37239
bundleoperation: pass the source argument from all the users We now have a source attribute to the bundle2.bundleoperation class which stores the operation which leads to the current bundling/unbundling. Let's make sure we pass source argument from all the users of the command. Differential Revision: https://phab.mercurial-scm.org/D2995
Sat, 31 Mar 2018 14:49:16 +0530 bunlde2: add 'source' as an optional argument to processbundle()
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 31 Mar 2018 14:49:16 +0530] rev 37238
bunlde2: add 'source' as an optional argument to processbundle() This will help us to pass the source variable to bundleoperation class. Differential Revision: https://phab.mercurial-scm.org/D2994
Sat, 31 Mar 2018 14:47:43 +0530 bundle2: add 'source' atrribute to bundleoperation class
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 31 Mar 2018 14:47:43 +0530] rev 37237
bundle2: add 'source' atrribute to bundleoperation class This will help us in easily finding out which command leads to the current operation without hacking on the transaction. Differential Revision: https://phab.mercurial-scm.org/D2993
Sat, 31 Mar 2018 10:13:05 -0700 infinitepush: don't force ipv6 while connecting to mysql server
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 31 Mar 2018 10:13:05 -0700] rev 37236
infinitepush: don't force ipv6 while connecting to mysql server Facebook internally enforces this but looks like we can't force this for pur users. Differential Revision: https://phab.mercurial-scm.org/D2992
Sat, 31 Mar 2018 14:33:37 +0530 infinitepush: drop the default value of config options which are registered
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 31 Mar 2018 14:33:37 +0530] rev 37235
infinitepush: drop the default value of config options which are registered Differential Revision: https://phab.mercurial-scm.org/D2991
Sat, 31 Mar 2018 14:31:29 +0530 infinitepush: replace `remotenames.hoist` with `remotenames.hoistedpeer`
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 31 Mar 2018 14:31:29 +0530] rev 37234
infinitepush: replace `remotenames.hoist` with `remotenames.hoistedpeer` The remotenames.hoist config option was renamed to remotenames.hoistedpeer while moving to core as an extension. Let's start using the config option provided by the in-core extension. Differential Revision: https://phab.mercurial-scm.org/D2990
Sun, 18 Mar 2018 16:57:07 +0900 templater: drop global exception catcher from runfilter() (API)
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Mar 2018 16:57:07 +0900] rev 37233
templater: drop global exception catcher from runfilter() (API) Now all built-in template filters declare input data types or handle type errors by themselves. .. api:: Template filters should declare input data type and/or catch AttributeError, ValueError, TypeError, etc. as needed. See the doc of ``registrar.templatefilters`` for details.
Sun, 18 Mar 2018 16:53:08 +0900 templatefilters: raise ProgrammingError if unencodable type passed to json()
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Mar 2018 16:53:08 +0900] rev 37232
templatefilters: raise ProgrammingError if unencodable type passed to json() This shouldn't happen for any template data types (though I know it does because of some templater bugs.) Let's clarify it is a bug.
Sun, 18 Mar 2018 16:47:44 +0900 templatefilters: handle TypeError by count()
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Mar 2018 16:47:44 +0900] rev 37231
templatefilters: handle TypeError by count() Prepares for removing the weird exception catcher from runfilter().
Sun, 18 Mar 2018 17:02:39 +0900 keyword: declare input type of date filters as date
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Mar 2018 17:02:39 +0900] rev 37230
keyword: declare input type of date filters as date Dropped redundant dateutil.parsedate(), which is now handled by the templater.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip