Sun, 30 Sep 2018 18:45:16 +0300 narrow: pass old includes and excludes to _widen()
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 30 Sep 2018 18:45:16 +0300] rev 39966
narrow: pass old includes and excludes to _widen() In future patches we will need to pass them in the widen wireprotocol command which we are building. Differential Revision: https://phab.mercurial-scm.org/D4812
Fri, 28 Sep 2018 23:53:09 +0300 narrow: check for servers' narrow support before doing anything (BC)
Pulkit Goyal <pulkit@yandex-team.ru> [Fri, 28 Sep 2018 23:53:09 +0300] rev 39965
narrow: check for servers' narrow support before doing anything (BC) Recently we introduced narrow capabilities for the server. So we can check whether a server has narrow clone support or not before doing anything. This is BC because new clients won't be able to extend from old narrow-enabled servers. I *think* narrow is not used much (maybe just inside Google), also it's experimental so I think we can change this. We will need to this someday anyway. The "doesn't" in error is changed to "does not" because I think that's we do in core. I also changed one more instance of the error message to use 'does not' for consistency. Differential Revision: https://phab.mercurial-scm.org/D4789
Sun, 30 Sep 2018 18:59:27 +0300 narrow: don't do the dirstate dance if ellipses is not enabled
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 30 Sep 2018 18:59:27 +0300] rev 39964
narrow: don't do the dirstate dance if ellipses is not enabled I believe we set dirstate parents to nullid before widening pull because in ellipses cases, the parent might be stripped off with a new changeset. However the second ds.setparents() call invalidate my assumption. I am not sure why we do this. So here is a patch. This patch also adds tests showing we break nothing in non-ellipses cases. Differential Revision: https://phab.mercurial-scm.org/D4788
Fri, 28 Sep 2018 19:21:24 +0300 narrow: pass 'narrow_widen' as source while generating changegroup
Pulkit Goyal <pulkit@yandex-team.ru> [Fri, 28 Sep 2018 19:21:24 +0300] rev 39963
narrow: pass 'narrow_widen' as source while generating changegroup Extensions inspect the `source` parameter and add some custom logic on the basis of value of that parameter. The parameter is also passed to hooks. So let's pass the value as 'narrow_widen' to differentiate widening from pull. Differential Revision: https://phab.mercurial-scm.org/D4787
Fri, 28 Sep 2018 19:18:17 +0300 narrow: factor out logic to create cg while widening into separate fn
Pulkit Goyal <pulkit@yandex-team.ru> [Fri, 28 Sep 2018 19:18:17 +0300] rev 39962
narrow: factor out logic to create cg while widening into separate fn This patch takes out the logic which generates a changegroup for widening a narrow clone when ellipses are disabled. This is done because future patches will introduce a narrow_widen() wireprotocol command which will send a bundle2 with changegroup and will use this function. The new function for now returns just the changegroup for compatibility with existing code, but in future patches, when we establish a wireprotocol command and call this function from there, this will return the required bundle2. Differential Revision: https://phab.mercurial-scm.org/D4786
Mon, 01 Oct 2018 15:29:31 -0700 narrow: avoid looking up dirstate again when editing dirstate
Martin von Zweigbergk <martinvonz@google.com> [Mon, 01 Oct 2018 15:29:31 -0700] rev 39961
narrow: avoid looking up dirstate again when editing dirstate The narrow extension overrides the dirstate editing functions to restrict paths outside the narrowspec. These overrides access the dirstate from repo.dirstate instead of using the "self" reference passed to the overridden functions. I don't see a reason for this and it caused me problems with a later patch (it caused infinite recursion when I modified localrepo.dirstate()), so let's change it. Differential Revision: https://phab.mercurial-scm.org/D4829
Wed, 26 Sep 2018 23:09:28 -0700 repo: move unfiltered-repo optimization to workingctx
Martin von Zweigbergk <martinvonz@google.com> [Wed, 26 Sep 2018 23:09:28 -0700] rev 39960
repo: move unfiltered-repo optimization to workingctx localrepo.__getitem__ special-cased lookup of the working copy parent to avoid looking up obsmarkers. I think the reason for that code (which I once wrote myself) was to make `hg commit` not load obsmarkers, which it would otherwise do via ctx.p1() in localrepo.commitctx(). That had the somewhat unfortunate consequence of making lookup of an unrelated binary nodeid load the dirstate. Now that changectx's constructor is dumb, we can let workingctx._parents() have the opmtimization instead. This affects two tests, because they no longer end up loading the dirstate and their "warning: ignoring unknown working parent ..." messages therefore go way. Differential Revision: https://phab.mercurial-scm.org/D4828
Wed, 26 Sep 2018 22:53:14 -0700 context: move logic from changectx.__init__ to localrepo.__getitem__ (API)
Martin von Zweigbergk <martinvonz@google.com> [Wed, 26 Sep 2018 22:53:14 -0700] rev 39959
context: move logic from changectx.__init__ to localrepo.__getitem__ (API) My motivation for this change was to make repo[node] not load the dirstate (more about that in the next patch), but I think it makes more sense this way too. For example, raising RepoLookupError seems to belong better in the repo lookup function (i.e. localrepo.__getitem__). This makes the changectx constructor very simple -- it just assigns the given repo, revnum, and nodeid to properties. Differential Revision: https://phab.mercurial-scm.org/D4827
Wed, 26 Sep 2018 22:44:51 -0700 context: reduce dependence of changectx constructor
Martin von Zweigbergk <martinvonz@google.com> [Wed, 26 Sep 2018 22:44:51 -0700] rev 39958
context: reduce dependence of changectx constructor I want to change the constructor's signature and letting all creation of changectx instances go through the repo simplifies that. Differential Revision: https://phab.mercurial-scm.org/D4826
Mon, 01 Oct 2018 23:11:07 -0700 py3: use system strings for HTTP response header comparison
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 01 Oct 2018 23:11:07 -0700] rev 39957
py3: use system strings for HTTP response header comparison res.headers is holding system strings. Attempting to compare against bytes always fails and we fail to print decoded CBOR responses on Python 3. After this change, various test-wireproto* tests are now properly printing CBOR response objects. Differential Revision: https://phab.mercurial-scm.org/D4835
Mon, 01 Oct 2018 23:08:04 -0700 py3: convert HTTP request headers to str
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 01 Oct 2018 23:08:04 -0700] rev 39956
py3: convert HTTP request headers to str The low-level request object ideally takes system strings for HTTP request headers and values. If we send in bytes, it works. But a duplicate header check fails and various tests emit duplicate user-agent headers. Differential Revision: https://phab.mercurial-scm.org/D4834
Mon, 01 Oct 2018 23:12:42 -0700 py3: use system strings in HTTP server code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 01 Oct 2018 23:12:42 -0700] rev 39955
py3: use system strings in HTTP server code Previously the source transformer was converting some string literals to bytes and we were comparing a system native string to bytes and this was leading to sending the wrong HTTP response headers on Python 3. After this change, we now properly send Transfer-Encoding and Connection response headers on Python 3. Differential Revision: https://phab.mercurial-scm.org/D4833
Mon, 01 Oct 2018 23:39:49 -0700 py3: byteify test-storage.py
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 01 Oct 2018 23:39:49 -0700] rev 39954
py3: byteify test-storage.py The test now passed on Python 3. # skip-blame just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D4836
Tue, 02 Oct 2018 14:29:56 +0300 narrow: remove narrowpatch instead of narrowcopies
Pulkit Goyal <pulkit@yandex-team.ru> [Tue, 02 Oct 2018 14:29:56 +0300] rev 39953
narrow: remove narrowpatch instead of narrowcopies 84092edd5c88 removed narrowpatch.py and wanted to drop narrowpatch from __init__.py but mistakenly removed narrowcopies. This will make buildbots green again. Differential Revision: https://phab.mercurial-scm.org/D4837
Mon, 01 Oct 2018 23:26:24 -0400 py3: suppress the output from .write() calls in more tests
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 23:26:24 -0400] rev 39952
py3: suppress the output from .write() calls in more tests I missed these in 803b7569c9ea because I forgot about `...` lines.
Mon, 01 Oct 2018 23:07:19 -0400 py3: byteify test-lfs.t
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 23:07:19 -0400] rev 39951
py3: byteify test-lfs.t
Mon, 01 Oct 2018 23:04:58 -0400 lfs: explicitly name a key when sorting blob pointers
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 23:04:58 -0400] rev 39950
lfs: explicitly name a key when sorting blob pointers This is needed to keep py3 happy. The other two instances of sorting already did this.
Mon, 01 Oct 2018 21:54:00 -0400 py3: byteify test-lock.py
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 21:54:00 -0400] rev 39949
py3: byteify test-lock.py There's still a stacktrace about not being able to serialize _io.TextIOWrapper.
Mon, 01 Oct 2018 21:48:45 -0400 py3: byteify contrib/dumprevlog
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 21:48:45 -0400] rev 39948
py3: byteify contrib/dumprevlog
Mon, 01 Oct 2018 19:39:05 -0400 py3: quote $PYTHON in test-merge-symlinks.t
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 19:39:05 -0400] rev 39947
py3: quote $PYTHON in test-merge-symlinks.t
Thu, 21 Jun 2018 22:07:34 -0700 copies: inline a variable that's used only once
Martin von Zweigbergk <martinvonz@google.com> [Thu, 21 Jun 2018 22:07:34 -0700] rev 39946
copies: inline a variable that's used only once By inlining it, we also avoid calculating the value when "if of in seen" is false (probably not significant). Differential Revision: https://phab.mercurial-scm.org/D4831
Sat, 15 Sep 2018 22:56:57 -0700 bundlerepo: remove a variable alias
Martin von Zweigbergk <martinvonz@google.com> [Sat, 15 Sep 2018 22:56:57 -0700] rev 39945
bundlerepo: remove a variable alias "parentrepo" and "repo" were the same thing and I don't see much reason for it (unionrepo has similar structure and a similar alias but there are two repos there so at least it makes a little more sense there). Differential Revision: https://phab.mercurial-scm.org/D4830
Mon, 01 Oct 2018 16:11:48 -0400 merge with stable
Augie Fackler <augie@google.com> [Mon, 01 Oct 2018 16:11:48 -0400] rev 39944
merge with stable
Fri, 28 Sep 2018 12:05:48 -0700 narrow: move support for `hg verify` into core
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Sep 2018 12:05:48 -0700] rev 39943
narrow: move support for `hg verify` into core Differential Revision: https://phab.mercurial-scm.org/D4824
Fri, 28 Sep 2018 13:55:17 -0700 narrow: drop unnecessary overrides of patch
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Sep 2018 13:55:17 -0700] rev 39942
narrow: drop unnecessary overrides of patch The patch overrides became unnecessary when I made context.status() filter by the narrowspec in e411774a2e0f (narrow: move status-filtering to core and to ctx, 2018-08-02). Differential Revision: https://phab.mercurial-scm.org/D4823
Fri, 28 Sep 2018 00:00:36 -0700 tests: add test showing that paths outside narrowspec are not added
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Sep 2018 00:00:36 -0700] rev 39941
tests: add test showing that paths outside narrowspec are not added We had a test that shows that trying to explicitly add a file outside the narrowspec results in an error, but we didn't have a test that shows that paths from subdirectories outside the narrowspec are not added (on e.g. `hg add .`) but silently ignored. Differential Revision: https://phab.mercurial-scm.org/D4822
Mon, 01 Oct 2018 09:05:41 -0400 catapipe: fix bug introduced when switching to the timer api
Augie Fackler <augie@google.com> [Mon, 01 Oct 2018 09:05:41 -0400] rev 39940
catapipe: fix bug introduced when switching to the timer api Differential Revision: https://phab.mercurial-scm.org/D4818
Sun, 30 Sep 2018 03:45:51 +0530 narrow: move the ellipses server capability to core
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 30 Sep 2018 03:45:51 +0530] rev 39939
narrow: move the ellipses server capability to core This will be used in core logic to determining whether a server is ellipses enabled or not. And also this will ease moving narrow related things to core. Differential Revision: https://phab.mercurial-scm.org/D4809
Sun, 30 Sep 2018 03:42:35 +0530 narrow: move the wireprotocol narrow capability name to core
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 30 Sep 2018 03:42:35 +0530] rev 39938
narrow: move the wireprotocol narrow capability name to core We are trying to integrate the whole of narrow logic into core and it will be helpful for upcoming patches to have these capability names in core. The next patch will move the ellipses capability to core also. The exact motivation is to know whether we are cloning a ellipses repo or not and adding an ellipses repo requirement. Differential Revision: https://phab.mercurial-scm.org/D4808
Sun, 30 Sep 2018 16:11:35 +0900 help: document about "files" template keywords
Yuya Nishihara <yuya@tcha.org> [Sun, 30 Sep 2018 16:11:35 +0900] rev 39937
help: document about "files" template keywords
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip