Tue, 19 Jun 2018 19:10:31 +0100 test: stop passing --quiet in a run dedicated to debug output
Boris Feld <boris.feld@octobus.net> [Tue, 19 Jun 2018 19:10:31 +0100] rev 38534
test: stop passing --quiet in a run dedicated to debug output The goal of the run is to display some debug output. Passing --quiet in this case is strange.
Fri, 15 Jun 2018 14:07:13 -0400 acl: add bookmarks support
Sandu Turcan <idlsoft@gmail.com> [Fri, 15 Jun 2018 14:07:13 -0400] rev 38533
acl: add bookmarks support Originally submitted at https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-March/080650.html as an RFC by timeless. .. feature:: The `acl` extension now has support for bookmarks as well as branches. Differential Revision: https://phab.mercurial-scm.org/D3750
Sat, 30 Jun 2018 18:34:33 -0700 repository: define manifest interfaces
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 30 Jun 2018 18:34:33 -0700] rev 38532
repository: define manifest interfaces The long march towards declaring interfaces for repository primitives continues. This commit essentially defines interfaces based on the following types: * manifest.manifestdict -> imanifestdict * manifest.manifestlog -> imanifestlog * manifest.memmanifestctx -> imanifestrevisionwritable * manifest.manifestctx -> imanifestrevisionstored * manifest.memtreemanifestctx -> imanifestrevisionwritable * manifest.treemanifestctx -> imanifestrevisionstored * util.dirs -> idirs The interfaces are thoroughly documented. Their documentation is now better than the documentation in manifest.py in many cases. With the exception of util.dirs, classes have been annotated with their interfaces. (I didn't feel like util.dirs needed the proper interface treatment.) Tests have been added demonstrating that all classes and instances conform to their interfaces. This work was much easier than filelogs. That's because Durham did an excellent job formalizing the manifest API a while back. There are still some minor kludges with the interfaces that should probably be addressed. But the primary goal with interface declarations is getting something established. Once we have an interface, we can modify it later easily enough. Differential Revision: https://phab.mercurial-scm.org/D3869
Tue, 12 Jun 2018 11:31:20 -0400 narrowbundle2: when we handle a widen, mark the operation as unsafe
Augie Fackler <augie@google.com> [Tue, 12 Jun 2018 11:31:20 -0400] rev 38531
narrowbundle2: when we handle a widen, mark the operation as unsafe We have to manually drive the context manager here since the logic is awkwardly split between a couple of places. Differential Revision: https://phab.mercurial-scm.org/D3719
Mon, 11 Jun 2018 17:06:29 -0400 narrow: mark the critical chunks of narrowing/widening as unsafe
Augie Fackler <augie@google.com> [Mon, 11 Jun 2018 17:06:29 -0400] rev 38530
narrow: mark the critical chunks of narrowing/widening as unsafe I'm _mostly_ sure these are the only unsafe chunks here. Differential Revision: https://phab.mercurial-scm.org/D3718
Mon, 11 Jun 2018 17:03:29 -0400 repair: mark the critical section of strip() as unsafe
Augie Fackler <augie@google.com> [Mon, 11 Jun 2018 17:03:29 -0400] rev 38529
repair: mark the critical section of strip() as unsafe When our experimental nointerrupt feature is enabled, this will help prevent users from corrupting their repo during a strip. Differential Revision: https://phab.mercurial-scm.org/D3717
Wed, 27 Jun 2018 10:47:14 -0400 ui: add an uninterruptable context manager that can block SIGINT
Augie Fackler <augie@google.com> [Wed, 27 Jun 2018 10:47:14 -0400] rev 38528
ui: add an uninterruptable context manager that can block SIGINT The blocking of SIGINT is not done by default, but my hope is that we will one day. This was inspired by Facebook's "nointerrupt" extension, which is a bit more heavy-handed than this (whole commands are treated as unsafe to interrupt). A future patch will enable this for varying bits of Mercurial that are performing unsafe operations. It's intentional that the KeyboardInterrupt is raised as the context manager exits: during the span of the context manager interrupting Mercurial could lead to data loss, but typically those spans are fairly narrow, so we can let the unsafe block complete and then terminate hg (which will leave the repo in a consistent state, even if it's not the user's desired state). .. api:: New context manager ``ui.uninterruptable()`` to mark portions of a command as potentially unsafe places to interrupt Mercurial with Control-C or similar. Differential Revision: https://phab.mercurial-scm.org/D3716
Tue, 03 Jul 2018 12:22:37 -0400 merge with stable
Augie Fackler <augie@google.com> [Tue, 03 Jul 2018 12:22:37 -0400] rev 38527
merge with stable
Fri, 29 Jun 2018 23:13:23 +0900 revset: add partial support for ancestor(wdir())
Yuya Nishihara <yuya@tcha.org> [Fri, 29 Jun 2018 23:13:23 +0900] rev 38526
revset: add partial support for ancestor(wdir()) It's easy, so let's make it happen. I'm not certain if 'wdir() &' should be required. ancestors(wdir()) works without it, but ancestor(wdir()) doesn't as of now. That's the issue of fullreposet.__contains__() vs __and__().
Sat, 23 Jun 2018 13:19:03 +0100 context: also accept diff option directly
Boris Feld <boris.feld@octobus.net> [Sat, 23 Jun 2018 13:19:03 +0100] rev 38525
context: also accept diff option directly For now we accept both diff option and dictionary. This will let us upgrade internal users gradually before we drop the old API at the end of this series.
Wed, 23 May 2018 15:31:40 +0200 context: also take all other arguments than `patch.diff` accept
Boris Feld <boris.feld@octobus.net> [Wed, 23 May 2018 15:31:40 +0200] rev 38524
context: also take all other arguments than `patch.diff` accept This is needed to use `context.diff` as a full replacement of `patch.diff`
Tue, 22 May 2018 15:02:52 +0200 context: explicitly take diffopts in `context.diff` (API)
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 15:02:52 +0200] rev 38523
context: explicitly take diffopts in `context.diff` (API) To provide a proper replacement for the `patch.diff(…)` function, the `context.diff(…)` method needs to be able to take more parameters. To distinguish the diff options from the new other arguments, we upgrade the diff options to its own explicit argument.
(0) -30000 -10000 -3000 -1000 -300 -100 -12 +12 +100 +300 +1000 +3000 +10000 tip