Sat, 14 Oct 2017 15:42:38 -0400 hgweb: rewrite most obviously-native-strings to be native strings
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 15:42:38 -0400] rev 34704
hgweb: rewrite most obviously-native-strings to be native strings This clearly won't be everything, but it unblocks a fair amount of stuff here. Differential Revision: https://phab.mercurial-scm.org/D1079
Thu, 05 Oct 2017 14:48:52 -0400 hgweb: use native strings consistently for querystring parsing
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:48:52 -0400] rev 34703
hgweb: use native strings consistently for querystring parsing Differential Revision: https://phab.mercurial-scm.org/D1078
Thu, 05 Oct 2017 14:48:31 -0400 hgweb: rewrite two X or Y and Z ad-hoc ternaries with Y if X else Z
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:48:31 -0400] rev 34702
hgweb: rewrite two X or Y and Z ad-hoc ternaries with Y if X else Z Just easier to muddle through for my brain now that I don't see the old pattern much anymore. Differential Revision: https://phab.mercurial-scm.org/D1077
Sun, 01 Oct 2017 12:12:34 -0400 httppeer: use native strings for headers
Augie Fackler <augie@google.com> [Sun, 01 Oct 2017 12:12:34 -0400] rev 34701
httppeer: use native strings for headers On Python 3, we need to use unicodes, rather than bytes. This lets test-pull.t get a lot further along. Differential Revision: https://phab.mercurial-scm.org/D887
Thu, 05 Oct 2017 14:29:51 -0400 hgweb: more native string treatment in query string parsing
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:29:51 -0400] rev 34700
hgweb: more native string treatment in query string parsing Differential Revision: https://phab.mercurial-scm.org/D1076
Sat, 14 Oct 2017 14:07:39 -0400 httppeer: pass url to urllib as native str, not bytes
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 14:07:39 -0400] rev 34699
httppeer: pass url to urllib as native str, not bytes Differential Revision: https://phab.mercurial-scm.org/D1075
Sat, 14 Oct 2017 13:33:37 +0200 tersestatus: rework dirnode and tersedir docstrings
Denis Laxalde <denis@laxalde.org> [Sat, 14 Oct 2017 13:33:37 +0200] rev 34698
tersestatus: rework dirnode and tersedir docstrings Follow-up on refactorings 3d6d4b12128e and 5d98674df18a of the original changeset 7e3001b74ab3 by updating the docstrings of dirnode class and tersedir function: * rewrite dirnode.iterfilepaths()'s docstring (the method got renamed and reimplemented in 5d98674df18a); * simplify and update dirnode.tersewalk() to remove reference to 'self' and 'tersedict'; * use the imperative form of verbs in the first sentence of all docstrings. Differential Revision: https://phab.mercurial-scm.org/D1072
Wed, 04 Oct 2017 10:52:50 -0400 bitmanipulation: reformat with clang-format
Augie Fackler <augie@google.com> [Wed, 04 Oct 2017 10:52:50 -0400] rev 34697
bitmanipulation: reformat with clang-format Mostly un-wrapping over-wrapped definitions. Differential Revision: https://phab.mercurial-scm.org/D1069
Mon, 14 Sep 2015 14:16:31 -0400 hghave: add a check for clang-format
Augie Fackler <augie@google.com> [Mon, 14 Sep 2015 14:16:31 -0400] rev 34696
hghave: add a check for clang-format Differential Revision: https://phab.mercurial-scm.org/D1068
Thu, 05 Oct 2017 14:16:20 -0400 python3: use our bytes-only version of cgi.escape everywhere
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:16:20 -0400] rev 34695
python3: use our bytes-only version of cgi.escape everywhere As suggested by Yuya in D965. Differential Revision: https://phab.mercurial-scm.org/D1067
Sat, 14 Oct 2017 02:57:26 -0400 url: add cgi.escape equivalent for bytestrings
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 02:57:26 -0400] rev 34694
url: add cgi.escape equivalent for bytestrings This seems like a sensible enough place to put it. Differential Revision: https://phab.mercurial-scm.org/D1066
Thu, 05 Oct 2017 14:15:05 -0400 python3: move from using func_name to __name__
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:15:05 -0400] rev 34693
python3: move from using func_name to __name__ Previously reviewed as D964, but required some fixups and therefore seems to need a new revision. Differential Revision: https://phab.mercurial-scm.org/D1065
Sat, 14 Oct 2017 01:20:12 -0400 tests: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 01:20:12 -0400] rev 34692
tests: add globs for Windows
Sat, 14 Oct 2017 01:07:59 -0400 test-conflicts: conditionalize for no-symlink platforms
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 01:07:59 -0400] rev 34691
test-conflicts: conditionalize for no-symlink platforms It seems better to create standin files for the symlinks, rather than blacklist the entire tests. Especially since link vs file doesn't seem to affect the tests. There is more instability in test-pathconflicts-{basic,merge}.t that I can't figure out.
Sat, 14 Oct 2017 00:20:59 -0400 test-extdata: conditonalize error message for Windows
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 00:20:59 -0400] rev 34690
test-extdata: conditonalize error message for Windows
Sat, 14 Oct 2017 00:07:26 -0400 test-audit-path: fill in missing output for no-symlink case
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 00:07:26 -0400] rev 34689
test-audit-path: fill in missing output for no-symlink case It looks like this was meant to go with 989e884d1be9.
Sat, 14 Oct 2017 13:37:14 +0900 test-i18n: guard gettext test appropriately
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Oct 2017 13:37:14 +0900] rev 34688
test-i18n: guard gettext test appropriately
Sun, 08 Oct 2017 13:08:31 +0200 hook: add a 'hashook' function to test for hook existence
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 13:08:31 +0200] rev 34687
hook: add a 'hashook' function to test for hook existence Preparing the data for some hooks can be expensive. Add a function to check if a hook exists so we can skip useless preparation if no hook is configured.
Fri, 13 Oct 2017 22:42:17 +0200 build: for the bootstrap phase of a deb/rpm build pure-py mercurial is enough
muxator <a.mux@inwind.it> [Fri, 13 Oct 2017 22:42:17 +0200] rev 34686
build: for the bootstrap phase of a deb/rpm build pure-py mercurial is enough When bootstrapping a deb/rpm build, packagelib.sh starts performing a local build for the sole purpose of parsing the output of "hg version". Then it "hg archive"s the source code, and builds everything again. For that initial step, we are perfectly good in using a pure python mercurial, without compiling the c modules (base85, bdiff, zstdlib, ...). On my personal system, this cuts down 22 seconds for a package build (the bootstrapping build goes from ~30 to ~8 seconds).
Fri, 13 Oct 2017 12:40:05 -0700 context: add a fast-comparision for arbitraryfilectx and workingfilectx
Phil Cohen <phillco@fb.com> [Fri, 13 Oct 2017 12:40:05 -0700] rev 34685
context: add a fast-comparision for arbitraryfilectx and workingfilectx Differential Revision: https://phab.mercurial-scm.org/D1056
Fri, 13 Oct 2017 04:02:06 +0530 tersestatus: avoid modifying tersedict
Denis Laxalde <denis@laxalde.org> [Fri, 13 Oct 2017 04:02:06 +0530] rev 34684
tersestatus: avoid modifying tersedict Turn dirnode's methods into generators which can be used to update "tersedict" in caller. So instead of passing the "tersedict" to be mutated here and there, it's now clearer where it is updated as it's purely a local variable to tersedir() function. While I was here, I renamed _processtersestatus to tersewalk and _addfilestotersed to iterfilepaths. Differential Revision: https://phab.mercurial-scm.org/D1043
Wed, 11 Oct 2017 21:19:19 +0200 tersestatus: make methods part of the dirnode class
Denis Laxalde <denis@laxalde.org> [Wed, 11 Oct 2017 21:19:19 +0200] rev 34683
tersestatus: make methods part of the dirnode class Differential Revision: https://phab.mercurial-scm.org/D1042
Fri, 06 Oct 2017 20:54:23 +0530 tersestatus: re-implement the functionality to terse the status
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Oct 2017 20:54:23 +0530] rev 34682
tersestatus: re-implement the functionality to terse the status The previous terse status implementation was hacking around os.listdir() and was flaky. There have been a lot of instances of mercurial buildbots failing and google's internal builds failing because of the hacky implementation of terse status. Even though I wrote the last implementation but it was hard for me to find the reason for the flake. The new implementation can be slower than the old one but is clean and easy to understand. In this we create a node object for each directory and create a tree like structure starting from the root of the working copy. While building the tree like structure we store some information on the nodes which will be helpful for deciding later whether we can terse the dir or not. Once the whole tree is build we traverse and built the list of files for each status with required tersing. There is no behaviour change as the old test, test-status-terse.t passes with the new implementation. Differential Revision: https://phab.mercurial-scm.org/D985
Fri, 13 Oct 2017 12:54:46 -0700 context: add is `isinmemory()` to filectx
Phil Cohen <phillco@fb.com> [Fri, 13 Oct 2017 12:54:46 -0700] rev 34681
context: add is `isinmemory()` to filectx This will make it easier to skip certain behavior when running an in-memory merge. Differential Revision: https://phab.mercurial-scm.org/D1061
Fri, 06 Oct 2017 06:48:43 -0700 merge: ensure that we always commit the mergestate
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34680
merge: ensure that we always commit the mergestate In future patches, we may halt the merge process based on configuration or user requests by raising exceptions. We need to ensure that the mergestate is unconditionally committed even when such an exception is raised. Depends on D930. Differential Revision: https://phab.mercurial-scm.org/D931
Fri, 06 Oct 2017 06:48:43 -0700 merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34679
merge: add tests to show current behavior on failed filemerges Currently, failed file merges will nevertheless force the user to continue attempting to merge all additional unresolved files. Future patches will allow the user to halt the merge process instead. This patch first introduces a test demonstrating the current bejhavior so the upcoming changes are more obvious. Differential Revision: https://phab.mercurial-scm.org/D930
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move the _dirfoldmap to dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34678
dirstate: move the _dirfoldmap to dirstatemap Now that dirstatemap is the source of truth for the list of directories, let's move _dirfoldmap on to it. This pattern of moving cached variables onto the dirstate map makes it easier to invalidate them, as seen by how the cache invalidation functions are slowly shrinking to just be recreating the dirstatemap instance. Differential Revision: https://phab.mercurial-scm.org/D983
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: remove _dirs property cache
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34677
dirstate: remove _dirs property cache Now that dirs is source of truthed on the dirstatemap, let's get rid of the _dirs propertycache on the dirstate. Differential Revision: https://phab.mercurial-scm.org/D982
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 tip