Sun, 03 Sep 2017 20:06:45 +0530 copytrace: use the full copytracing method if only drafts are involved
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Sep 2017 20:06:45 +0530] rev 34288
copytrace: use the full copytracing method if only drafts are involved This patch adds the functionality to use the full copytracing even if `experimental.copytrace = heuristics` in cases when drafts are involved. This is also a part of copytrace extension in fbext. This also adds tests which are also taken from fbext. .. feature:: The `heuristics` option for `experimental.copytrace` performs full copytracing if both source and destination branches contains non-public changsets only. Differential Revision: https://phab.mercurial-scm.org/D625
Fri, 15 Sep 2017 10:43:22 -0700 templates: introduce a obsfateoperation() function
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Sep 2017 10:43:22 -0700] rev 34287
templates: introduce a obsfateoperation() function Differential Revision: https://phab.mercurial-scm.org/D723
Fri, 15 Sep 2017 10:42:49 -0700 obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Sep 2017 10:42:49 -0700] rev 34286
obsmarker: track operation by default We added support for including the operation responsible for creating the obsmarker in 3546a771e376 (obsolete: add operation metadata to rebase/amend/histedit obsmarkers, 2017-05-09). However, soon thereafter, in f432897a9f49 (obsmarker: add an experimental flag controlling "operation" recording, 2017-05-20), it was hidden behind a config that was off by default. It seems unlikely that people will manually turn it on, and obsmarkers/evolution as a whole is still experimental anyway, so let's turn on the tracking by default. Differential Revision: https://phab.mercurial-scm.org/D722
Wed, 20 Sep 2017 02:40:25 +0530 uncommit: add an experimental.uncommitondirtywdir config
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 20 Sep 2017 02:40:25 +0530] rev 34285
uncommit: add an experimental.uncommitondirtywdir config There are people who wants to do `hg uncommit` on dirty working directory, so this patch adds a config which can be used to the achieve that. Adds tests for the same. Differential Revision: https://phab.mercurial-scm.org/D735
Wed, 20 Sep 2017 02:18:01 +0530 uncommit: don't allow bare uncommit on dirty working directory
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 20 Sep 2017 02:18:01 +0530] rev 34284
uncommit: don't allow bare uncommit on dirty working directory As per IRC discussion and suggestion by Augie, we should not allow bare `hg uncommit` on dirty working directory. Differential Revision: https://phab.mercurial-scm.org/D734
Sat, 16 Sep 2017 02:34:13 +0530 uncommit: rename the flag 'empty' to 'keep' which retains empty changeset
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Sep 2017 02:34:13 +0530] rev 34283
uncommit: rename the flag 'empty' to 'keep' which retains empty changeset This patch renames the flag 'empty' which retains the empty changeset if all the files are uncommitted to 'keep'. Differential Revision: https://phab.mercurial-scm.org/D726
Mon, 18 Sep 2017 14:19:47 -0400 tests: avoid repr in test-bundle2-format.t
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 14:19:47 -0400] rev 34282
tests: avoid repr in test-bundle2-format.t We don't *really* need it here, and it was making Python 3 harder.
Mon, 18 Sep 2017 14:04:05 -0400 tests: port test-bundle2-format inline helper script to Python 3
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 14:04:05 -0400] rev 34281
tests: port test-bundle2-format inline helper script to Python 3 We're now very close to this test passing.
Tue, 19 Sep 2017 00:27:55 -0400 bundle2: portably grab first byte of part name for letter check
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:27:55 -0400] rev 34280
bundle2: portably grab first byte of part name for letter check
Mon, 18 Sep 2017 14:03:21 -0400 bundle2: make ValueError messages native strings
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 14:03:21 -0400] rev 34279
bundle2: make ValueError messages native strings
Mon, 18 Sep 2017 13:36:05 -0400 bundle2: update check for a generator to work on Python 3
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 13:36:05 -0400] rev 34278
bundle2: update check for a generator to work on Python 3
Mon, 18 Sep 2017 13:35:43 -0400 bundle2: stop using %r to quote part names
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 13:35:43 -0400] rev 34277
bundle2: stop using %r to quote part names Valid part names are restricted to [a-zA-Z0-9_:-]+, so I'm not worried about having quoting present in places where we should have predominantly valid part names. This will significantly ease the Python 3 transition, and simultaneously isn't a BC because this is only in error messages that should never be shown.
Mon, 18 Sep 2017 16:01:03 -0700 blackbox: set lastui even if ui.log is not called (issue5518)
Jun Wu <quark@fb.com> [Mon, 18 Sep 2017 16:01:03 -0700] rev 34276
blackbox: set lastui even if ui.log is not called (issue5518) `lastui` decides where (where is the `.hg`) to use if the current `ui` object does not have a `_bbrepo` associated. Previously it only gets set in `ui.log`, which means unless a `ui` with repo associated calls `log` with tracked event, blackbox does not know where to write its log. This patch makes `reposetup` set `lastui` so it so we could log some more events (see test changes). Differential Revision: https://phab.mercurial-scm.org/D655
Wed, 06 Sep 2017 21:23:38 -0700 blackbox: unindent a try block
Jun Wu <quark@fb.com> [Wed, 06 Sep 2017 21:23:38 -0700] rev 34275
blackbox: unindent a try block The try block is no longer necessary. Differential Revision: https://phab.mercurial-scm.org/D654
Mon, 18 Sep 2017 15:56:08 -0700 blackbox: simplify ui states
Jun Wu <quark@fb.com> [Mon, 18 Sep 2017 15:56:08 -0700] rev 34274
blackbox: simplify ui states It seems cleaner to just remove `_partialinit`, `copy`, `__init__`. This patch makes it so by using `getattr` in `log` so those fields do not need to be existed. Differential Revision: https://phab.mercurial-scm.org/D652
Fri, 01 Sep 2017 19:42:09 -0700 revset: move weight information to predicate
Jun Wu <quark@fb.com> [Fri, 01 Sep 2017 19:42:09 -0700] rev 34273
revset: move weight information to predicate Previously revset weight is hardcoded and cannot be modified. This patch moves it to predicate so newly registered revsets could define their weight to properly give static optimization some hint. Differential Revision: https://phab.mercurial-scm.org/D657
Fri, 01 Sep 2017 19:30:40 -0700 revset: remove "small" argument from "_optimize"
Jun Wu <quark@fb.com> [Fri, 01 Sep 2017 19:30:40 -0700] rev 34272
revset: remove "small" argument from "_optimize" `_optimize` calculates weights of subtrees. "small" affects some weight calculation (either 1 or 0.5). The weights are now only useful in `and` optimization where we might swap two arguments and use `andsmally`. In the real world, it seems unlikely that revsets with weight of 0.5 or 1 matters the `and` order optimization. I think the important thing is to get weights of expensive revsets right (ex. `contains`). This patch removes the `small` argument to simplify the interface. As for choosing between 0.5 vs 1, things returning a single revision (`ancestor`, `string`) has a weight of 0.5. Things returning multiple revisions returns 1. This could be sometimes useful in the `andsmally` optimization, ex. (((:)-2) & expensive()) & ((1-2) & expensive()) ^^^ ^ ^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ weight=1 weight=0.5 would have an `andsmally` optimization so `1-2` gets executed first, which seems to be desirable. Differential Revision: https://phab.mercurial-scm.org/D656
Mon, 18 Sep 2017 13:37:00 -0400 ui: fix progress debug log format strings to work on Python 3
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 13:37:00 -0400] rev 34271
ui: fix progress debug log format strings to work on Python 3
Mon, 18 Sep 2017 13:37:32 -0400 tests: update `f` helper script to work on Python 3
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 13:37:32 -0400] rev 34270
tests: update `f` helper script to work on Python 3
Tue, 19 Sep 2017 00:09:37 -0400 tests: fix run-tests XML reporting on Python 3
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:09:37 -0400] rev 34269
tests: fix run-tests XML reporting on Python 3 cdatasafe wants to work in terms of bytes, but of course we have a unicode. Easy to work around, especially since we know we'll get utf-8 at the end.
Tue, 19 Sep 2017 00:08:52 -0400 tests: convert bisect support regex to binary
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:08:52 -0400] rev 34268
tests: convert bisect support regex to binary The bisection feature of run-tests still fails tests with this because bisect itself doesn't work yet. We'll get there.
Tue, 19 Sep 2017 00:08:12 -0400 tests: decode bytes path to hg command before hitting with shellquote
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:08:12 -0400] rev 34267
tests: decode bytes path to hg command before hitting with shellquote
Tue, 19 Sep 2017 00:07:51 -0400 tests: fix test-is-whitelisted check in run-tests
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:07:51 -0400] rev 34266
tests: fix test-is-whitelisted check in run-tests Again, look for bytes in a set of bytes objects.
Tue, 19 Sep 2017 00:07:23 -0400 tests: fix run-tests "slow test" check
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:07:23 -0400] rev 34265
tests: fix run-tests "slow test" check Look for bytes in a set of bytes objects.
Tue, 19 Sep 2017 00:06:57 -0400 tests: fix run-tests default values in Test constructor
Augie Fackler <augie@google.com> [Tue, 19 Sep 2017 00:06:57 -0400] rev 34264
tests: fix run-tests default values in Test constructor As far as I can tell, default values are evaluated far earlier on Python 3.6 than 2.7, meaning we've got to be more careful about when we read the defaults dictionary for the kwarg defaults. Sigh. With this change, test-run-tests.t is significantly less of a mess under 3.6.
Mon, 18 Sep 2017 17:11:32 -0400 tests: add support for listing tests to run in a file
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 17:11:32 -0400] rev 34263
tests: add support for listing tests to run in a file This will make it easier for us to run the tests in the python3 whitelist in buildbot.
Mon, 18 Sep 2017 15:34:50 -0400 python3: remove test-update-dest.t from the whitelist
Augie Fackler <augie@google.com> [Mon, 18 Sep 2017 15:34:50 -0400] rev 34262
python3: remove test-update-dest.t from the whitelist I've poked at this on and off several times, and I can't figure out what regressed. Let's kick this out of the whitelist for now so that we can get the *rest* of our progress covered by the buildbots.
Thu, 14 Sep 2017 10:20:05 -0700 bundle2: move part processing to a separate function
Durham Goode <durham@fb.com> [Thu, 14 Sep 2017 10:20:05 -0700] rev 34261
bundle2: move part processing to a separate function Now that the part processing loop is tiny, let's move it to a separate function. This will allow extensions to completely replace the part processing logic, without having to replace the overall bundle processing logic or the stream maintenance logic. This will be useful for the infinitepush extension, so it can completely take over receiving a bundle and rerouting it to a side store. This will also make it easier to upstream the infinitepush functionality later. Differential Revision: https://phab.mercurial-scm.org/D709
Thu, 14 Sep 2017 10:20:05 -0700 bundle2: remove unnecessary try finally
Durham Goode <durham@fb.com> [Thu, 14 Sep 2017 10:20:05 -0700] rev 34260
bundle2: remove unnecessary try finally This is no longer needed. Differential Revision: https://phab.mercurial-scm.org/D708
Thu, 14 Sep 2017 10:20:05 -0700 bundle2: move handler validation out of processpart
Durham Goode <durham@fb.com> [Thu, 14 Sep 2017 10:20:05 -0700] rev 34259
bundle2: move handler validation out of processpart As part of refactoring bundle part processing let's move handler validation to its own function. Differential Revision: https://phab.mercurial-scm.org/D707
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip