Gregory Szorc <gregory.szorc@gmail.com> [Mon, 01 Oct 2018 23:08:04 -0700] rev 39955
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
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 01 Oct 2018 23:12:42 -0700] rev 39954
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
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 01 Oct 2018 23:39:49 -0700] rev 39953
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
Pulkit Goyal <pulkit@yandex-team.ru> [Tue, 02 Oct 2018 14:29:56 +0300] rev 39952
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
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 23:26:24 -0400] rev 39951
py3: suppress the output from .write() calls in more tests
I missed these in
803b7569c9ea because I forgot about `...` lines.
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 23:07:19 -0400] rev 39950
py3: byteify test-lfs.t
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 23:04:58 -0400] rev 39949
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.
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 21:54:00 -0400] rev 39948
py3: byteify test-lock.py
There's still a stacktrace about not being able to serialize _io.TextIOWrapper.
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 21:48:45 -0400] rev 39947
py3: byteify contrib/dumprevlog
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Oct 2018 19:39:05 -0400] rev 39946
py3: quote $PYTHON in test-merge-symlinks.t
Martin von Zweigbergk <martinvonz@google.com> [Thu, 21 Jun 2018 22:07:34 -0700] rev 39945
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
Martin von Zweigbergk <martinvonz@google.com> [Sat, 15 Sep 2018 22:56:57 -0700] rev 39944
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
Augie Fackler <augie@google.com> [Mon, 01 Oct 2018 16:11:48 -0400] rev 39943
merge with stable
Augie Fackler <raf@durin42.com> [Mon, 01 Oct 2018 16:07:38 -0400] rev 39942
Added signature for changeset
5405cb1a7901
Augie Fackler <raf@durin42.com> [Mon, 01 Oct 2018 16:07:36 -0400] rev 39941
Added tag 4.7.2 for changeset
5405cb1a7901
Yuya Nishihara <yuya@tcha.org> [Wed, 05 Sep 2018 21:23:29 +0900] rev 39940
manifest: fix out-of-bounds read of corrupted manifest entry
Spotted by ASAN.
Yuya Nishihara <yuya@tcha.org> [Wed, 05 Sep 2018 21:32:45 +0900] rev 39939
manifest: rewrite pathlen() to not cross entry boundary
Even though the entire manifest data should be terminated by '\0', it seems
not nice to scan '\0' over the entry terminator, '\n'.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Sep 2018 12:05:48 -0700] rev 39938
narrow: move support for `hg verify` into core
Differential Revision: https://phab.mercurial-scm.org/D4824
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Sep 2018 13:55:17 -0700] rev 39937
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
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Sep 2018 00:00:36 -0700] rev 39936
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
Augie Fackler <augie@google.com> [Mon, 01 Oct 2018 09:05:41 -0400] rev 39935
catapipe: fix bug introduced when switching to the timer api
Differential Revision: https://phab.mercurial-scm.org/D4818
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 30 Sep 2018 03:45:51 +0530] rev 39934
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
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 30 Sep 2018 03:42:35 +0530] rev 39933
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
Yuya Nishihara <yuya@tcha.org> [Sun, 30 Sep 2018 16:11:35 +0900] rev 39932
help: document about "files" template keywords
Yuya Nishihara <yuya@tcha.org> [Sun, 30 Sep 2018 15:53:36 +0900] rev 39931
formatter: remove experimental marker from -T option
I think it's good enough to stabilize the feature, at least for the core
and non-experimental commands.
Yuya Nishihara <yuya@tcha.org> [Sun, 30 Sep 2018 15:37:09 +0900] rev 39930
grep: rename {line_number} to {lineno} as well (BC)
Yuya Nishihara <yuya@tcha.org> [Sun, 30 Sep 2018 15:35:17 +0900] rev 39929
annotate: rename {line_number} to {lineno} (BC)
I think {lineno} looks more like a common template keyword. It isn't called
a {line} to avoid conflicts with the element name of {lines} and the
{_|splitlines} filter.
https://www.mercurial-scm.org/wiki/GenericTemplatingPlan#Dictionary
Yuya Nishihara <yuya@tcha.org> [Sun, 30 Sep 2018 15:15:27 +0900] rev 39928
resolve: rename {status} to {mergestatus} to not shadow change status (BC)
This is a part of the name unification. I think it's somewhat useful to
provide a combined view of change/merge statuses.
https://www.mercurial-scm.org/wiki/GenericTemplatingPlan#Dictionary
Augie Fackler <augie@google.com> [Mon, 01 Oct 2018 09:06:01 -0400] rev 39927
py3: whitelist one additional test
Differential Revision: https://phab.mercurial-scm.org/D4817
Boris Feld <boris.feld@octobus.net> [Fri, 03 Nov 2017 21:11:07 +0100] rev 39926
logtoprocess: connect all fds to /dev/null to avoid bad interaction with pager
We detected that pager is waiting for log-to-process script to finish, which
is annoying when adding a script on commandfinish that does an HTTP push.
There seems to be no workaround on the script side and it will make the
behavior on Linux/MacOS closer to the Windows behavior.
The drawback is that it makes the related tests more flaky as log-to-process
outputs are now really asynchronous.
If it's considered a BC change, another option would be to add a config option
for this new behavior. I personally think that the different behavior between
Windows and Linux is confusing and that it's a bug I would be fine with a new
config option.
Differential Revision: https://phab.mercurial-scm.org/D4816
Boris Feld <boris.feld@octobus.net> [Fri, 03 Nov 2017 21:35:36 +0100] rev 39925
logtoprocess: add a test to show pager and ltp bad interaction
The next changeset will fix the bad interaction between the pager and log-to-
process. Add a test first to make the next changeset easier to understand.
Differential Revision: https://phab.mercurial-scm.org/D4815
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 30 Sep 2018 21:13:16 +0300] rev 39924
py3: add one more passing test to whitelist caught by buildbot
Thanks to Matt Harbison who fixed the remaining failures of this test.
Differential Revision: https://phab.mercurial-scm.org/D4814
Boris Feld <boris.feld@octobus.net> [Thu, 27 Sep 2018 12:06:32 +0200] rev 39923
cleanupnodes: pass multiple predecessors to `createmarkers` directly
Boris Feld <boris.feld@octobus.net> [Sat, 22 Sep 2018 14:40:33 +0200] rev 39922
obsolete: allow multiple predecessors in createmarkers
The logic for this change is similar to the change to `cleanupnodes` that we
did earlier. Now that the rebase code is trying to record a fold, we need to
actually record it in the markers. The first step is to have the markers
creation API able to receive such fold data.
To keep things sane, we restrict fold to on successors.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 21:03:09 +0200] rev 39921
obsolete: preindent code in createmarkers
This will help to make the next change clearer.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 23:37:43 +0200] rev 39920
obsolete: explicitly pass relation items to effectflag computation
To track folds, we are about to change the content of `rel`. To simplify this
change, we update the `geteffectflag` function beforehand.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 22:45:44 +0200] rev 39919
rebase: explicitly track collapses as fold
A collapse is a large fold. It is now explicitly tracked (at the cleanupnodes
API level).
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 23:51:11 +0200] rev 39918
rebase: use tuple as `replacement` keys
Now that `cleanupnodes` support tuples as key, we update the rebase code to use
them. No changes in the replacement tracked are introduced yet.
Boris Feld <boris.feld@octobus.net> [Thu, 27 Sep 2018 00:15:21 +0200] rev 39917
rebase: expand a long "one-liner"
When a one-liner gets 3 lines longs, it lose its expressivity benefits. We
expand it into a simple for loop. This makes future changes of the code in
that area clearer.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 21:28:21 +0200] rev 39916
cleanupnodes: drop special casing around prune markers (API)
The `cleanupnodes` has logic to skip the creation of "prune" markers if the
changeset is already obsolete. This feels strange and gets in the way of code
changes to tracks folds. Now that callers no longer request such prune, we can
drop this logic.
In many cases, pruning through cleanupnodes should be replaced by internal
phase usage.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 22:05:28 +0200] rev 39915
rebase: don't try to prune obsolete changeset already in the destination
With similar motivations to the previous changesets, we stop marking changeset
from pruning when it is not the command intention. In this case, we still need
to distinguish between the strip and the obsolete case.
Boris Feld <boris.feld@octobus.net> [Wed, 26 Sep 2018 21:51:29 +0200] rev 39914
histedit: don't cleanup nodes already disposed of
If something else took care of these temporary nodes, we don't need to do
anything about it. This less liberal usage of pruning through cleanup nodes
will help us further cleanup on the road to explicitly tracks folds.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 30 Sep 2018 01:15:46 -0400] rev 39913
py3: avoid b'' output in test-hgweb-non-interactive.t
I couldn't figure out how to get the list to print without b'' with
pycompat.write(), without converted each element to str.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 30 Sep 2018 01:10:41 -0400] rev 39912
py3: convert print to a function call in a few tests
I *think* this is the last of them.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 29 Sep 2018 23:52:00 -0400] rev 39911
py3: use util.forcebytestr() to convert push lock error to bytes
Matt Harbison <matt_harbison@yahoo.com> [Sat, 29 Sep 2018 20:57:49 -0400] rev 39910
py3: byteify windows.shelltocmdexe()
This makes test-doctest.py happy on Windows.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 29 Sep 2018 20:33:52 -0400] rev 39909
run-tests: flush output stream before prompting to accept changes
With py3 on Windows, the prompt to accept changes in an --interactive run wasn't
showing up until after the choice was read from stdin.
Pulkit Goyal <pulkit@yandex-team.ru> [Sun, 30 Sep 2018 05:52:42 +0530] rev 39908
py3: use util.forcebytestr() to convert error messages to bytes
This makes the python 3 buildbot green again.
Differential Revision: https://phab.mercurial-scm.org/D4811