Wed, 23 Aug 2017 18:24:57 +0000 dirstate: perform transactions with _copymap using single call, where possible
Michael Bolin <mbolin@fb.com> [Wed, 23 Aug 2017 18:24:57 +0000] rev 33981
dirstate: perform transactions with _copymap using single call, where possible This replaces patterns such as this: ``` if f in self._copymap: del self._copymap[f] ``` with this: ``` self._copymap.pop(f, None) ``` Although eliminating the extra lookup/call may be a negligible performance win in the standard dirstate, alternative implementations, such as [sqldirstate](https://bitbucket.org/facebook/hg-experimental/src/default/sqldirstate/) may see a bigger win where each of these calls results in an RPC, so the savings is greater. Test Plan: `make tests` Differential Revision: https://phab.mercurial-scm.org/D493
Thu, 24 Aug 2017 20:25:16 -0700 pull: do not prompt "hg update" if update.requiredest is set
Jun Wu <quark@fb.com> [Thu, 24 Aug 2017 20:25:16 -0700] rev 33980
pull: do not prompt "hg update" if update.requiredest is set Previously, after pull, we show: (run 'hg update' to get a working copy) unconditionally. People might run `hg update` and get an exception if `update.requiredest` is set, and get a bit frustrated. This patch changes the code to not prompt `hg update` in that case. Differential Revision: https://phab.mercurial-scm.org/D516
Fri, 25 Aug 2017 22:05:10 -0700 changelog: abort on attempt to write wdir revision
Martin von Zweigbergk <martinvonz@google.com> [Fri, 25 Aug 2017 22:05:10 -0700] rev 33979
changelog: abort on attempt to write wdir revision Similar to the previous patch which prevented writing the null revision to any revlog, but this is for the wdir revision. Thanks to Jun for pointing this out. Differential Revision: https://phab.mercurial-scm.org/D524
Thu, 24 Aug 2017 17:44:08 -0700 phabsend: show associated Differential Revisions with --confirm
Jun Wu <quark@fb.com> [Thu, 24 Aug 2017 17:44:08 -0700] rev 33978
phabsend: show associated Differential Revisions with --confirm Often people running `phabsend --confirm` just want to check whether a commit will trigger a creation of new Differential Revision, or update an existing one. This patch implements that. The `--confirm` message was changed to use node instead of revision number to be consistent with what `phabsend` outputs. An example output looks like: D487 - a80f447973a0 test-extension: enable demandimport explicitly D494 - cf440ea6e47e test-casecollision-merge: fix the test NEW - 0a6b97147128 phabsend: polish the docstring a bit Send the above changes to https://phab.mercurial-scm.org/ (yn)? Differential Revision: https://phab.mercurial-scm.org/D514
Thu, 24 Aug 2017 17:31:33 -0700 phabsend: print the actual URL with --confirm
Jun Wu <quark@fb.com> [Thu, 24 Aug 2017 17:31:33 -0700] rev 33977
phabsend: print the actual URL with --confirm Sometimes people have multiple Phabricator endpoints set in multiple repos. It seems better for `--confirm` to prompt about the Phabricator endpoint patches being sent to. Differential Revision: https://phab.mercurial-scm.org/D513
Thu, 24 Aug 2017 17:25:18 -0700 phabsend: detect patch change with larger context
Jun Wu <quark@fb.com> [Thu, 24 Aug 2017 17:25:18 -0700] rev 33976
phabsend: detect patch change with larger context Previously phabsend has an optimization that will skip uploading a diff if the patch (with context line number = 1) remains unchanged. That could be confusing: Aug 24 15:52:28 <martinvonz> phillco: something is wrong with phabricator'your patches/ Aug 24 15:52:45 <martinvonz> ... with phabricator's view of your patches again Aug 24 15:53:38 <martinvonz> if i phabread D388 and then D399, i get a version of filemerge.py with "a, b, c" somewhere on line 344, which is not what phabricator shows for D399 Aug 24 15:53:51 <martinvonz> junw: maybe that's more for you ^ Fix that by checking context with 32767 lines, which is the same as what will be actually sent. Differential Revision: https://phab.mercurial-scm.org/D512
Thu, 24 Aug 2017 16:52:28 -0700 phabsend: make --amend the default
Jun Wu <quark@fb.com> [Thu, 24 Aug 2017 16:52:28 -0700] rev 33975
phabsend: make --amend the default The local tag feature was intended to make `phabsend` closer to `email` workflow. But its experience is not great in multiple ways: - after rebase, obsoleted changesets are still visible because of tags - without obsstore, the association information will get lost - even with obsstore, things could go wrong with graft, export+import - no easy way to tell which Differential Revision a commit is associated Therefore make `--amend` the default. People wanting the old behavior can use `--no-amend`. Differential Revision: https://phab.mercurial-scm.org/D511
Thu, 24 Aug 2017 17:26:10 -0700 phabsend: polish the docstring a bit
Jun Wu <quark@fb.com> [Thu, 24 Aug 2017 17:26:10 -0700] rev 33974
phabsend: polish the docstring a bit Differential Revision: https://phab.mercurial-scm.org/D510
Mon, 28 Aug 2017 13:43:31 +0200 record: make the m key open an editor for the commit message (issue5667)
Peter Vitt <peter.vitt2@uni-siegen.de> [Mon, 28 Aug 2017 13:43:31 +0200] rev 33973
record: make the m key open an editor for the commit message (issue5667) With the former crecord extension, the user could edit the commit message while he was de-/selecting hunks. By pressing 'm', an editor showed up to edit the commit message. With record being part of mercurial, this feature is not available anymore. However, the help text still mentions it. As the infrastructure needed is still present, this feature is quite easily ported from the crecord extension to mercurial. It seems there is no test coverage for record ui, so I tested this patch manually on my local machine.
Tue, 22 Aug 2017 16:59:02 -0400 tests: update test-patch to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:59:02 -0400] rev 33972
tests: update test-patch to pass our import checker
Tue, 22 Aug 2017 16:58:57 -0400 tests: update test-pager to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:58:57 -0400] rev 33971
tests: update test-pager to pass our import checker
Tue, 22 Aug 2017 16:58:52 -0400 tests: update test-obsolete to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:58:52 -0400] rev 33970
tests: update test-obsolete to pass our import checker
Tue, 22 Aug 2017 16:58:47 -0400 tests: update test-notify to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:58:47 -0400] rev 33969
tests: update test-notify to pass our import checker
Tue, 22 Aug 2017 16:58:43 -0400 tests: update test-merge1 to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:58:43 -0400] rev 33968
tests: update test-merge1 to pass our import checker
Tue, 22 Aug 2017 16:58:37 -0400 tests: update test-merge-symlinks to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:58:37 -0400] rev 33967
tests: update test-merge-symlinks to pass our import checker
Tue, 22 Aug 2017 16:58:28 -0400 tests: update test-logtoprocess to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:58:28 -0400] rev 33966
tests: update test-logtoprocess to pass our import checker
Tue, 22 Aug 2017 16:58:22 -0400 tests: update test-log to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:58:22 -0400] rev 33965
tests: update test-log to pass our import checker
Tue, 22 Aug 2017 16:58:13 -0400 tests: update test-log-exthook to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:58:13 -0400] rev 33964
tests: update test-log-exthook to pass our import checker
Tue, 22 Aug 2017 16:58:07 -0400 tests: update test-largefiles-wireproto to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:58:07 -0400] rev 33963
tests: update test-largefiles-wireproto to pass our import checker
Tue, 22 Aug 2017 16:57:37 -0400 tests: update test-largefiles-small-disk to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 16:57:37 -0400] rev 33962
tests: update test-largefiles-small-disk to pass our import checker
Tue, 22 Aug 2017 15:51:47 -0400 tests: update test-keyword to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:51:47 -0400] rev 33961
tests: update test-keyword to pass our import checker
Tue, 22 Aug 2017 15:51:37 -0400 tests: update test-impexp-branch to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:51:37 -0400] rev 33960
tests: update test-impexp-branch to pass our import checker
Tue, 22 Aug 2017 15:51:30 -0400 tests: update test-help to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:51:30 -0400] rev 33959
tests: update test-help to pass our import checker
Tue, 22 Aug 2017 15:51:24 -0400 tests: update test-hardlinks to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:51:24 -0400] rev 33958
tests: update test-hardlinks to pass our import checker
Tue, 22 Aug 2017 15:51:18 -0400 tests: update test-glog to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:51:18 -0400] rev 33957
tests: update test-glog to pass our import checker
Tue, 22 Aug 2017 15:51:12 -0400 tests: update test-fncache to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:51:12 -0400] rev 33956
tests: update test-fncache to pass our import checker
Tue, 22 Aug 2017 15:51:06 -0400 tests: update test-eol to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:51:06 -0400] rev 33955
tests: update test-eol to pass our import checker
Tue, 22 Aug 2017 15:50:59 -0400 tests: update test-dirstate to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:50:59 -0400] rev 33954
tests: update test-dirstate to pass our import checker
Tue, 22 Aug 2017 15:50:35 -0400 tests: update test-debugcommands to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:50:35 -0400] rev 33953
tests: update test-debugcommands to pass our import checker
Tue, 22 Aug 2017 15:50:27 -0400 tests: update test-convert-clonebranches to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:50:27 -0400] rev 33952
tests: update test-convert-clonebranches to pass our import checker
Tue, 22 Aug 2017 15:50:01 -0400 tests: update test-commit to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:50:01 -0400] rev 33951
tests: update test-commit to pass our import checker
Tue, 22 Aug 2017 15:49:54 -0400 tests: update test-command-template to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:49:54 -0400] rev 33950
tests: update test-command-template to pass our import checker
Tue, 22 Aug 2017 15:49:20 -0400 tests: update test-chg to pass our import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:49:20 -0400] rev 33949
tests: update test-chg to pass our import checker
Tue, 22 Aug 2017 15:05:51 -0400 tests: update test-bundle2-format to pass import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:05:51 -0400] rev 33948
tests: update test-bundle2-format to pass import checker
Tue, 22 Aug 2017 15:04:36 -0400 tests: update test-bundle2-pushback to pass the import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:04:36 -0400] rev 33947
tests: update test-bundle2-pushback to pass the import checker
Tue, 22 Aug 2017 15:04:14 -0400 tests: update test-bookmarks to pass the import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 15:04:14 -0400] rev 33946
tests: update test-bookmarks to pass the import checker
Tue, 22 Aug 2017 14:58:39 -0400 tests: update test-bisect to pass our module import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 14:58:39 -0400] rev 33945
tests: update test-bisect to pass our module import checker
Tue, 22 Aug 2017 14:58:21 -0400 tests: update test-archive to pass our module import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 14:58:21 -0400] rev 33944
tests: update test-archive to pass our module import checker
Tue, 22 Aug 2017 14:58:10 -0400 tests: update test-annotate to pass our module import checker
Augie Fackler <raf@durin42.com> [Tue, 22 Aug 2017 14:58:10 -0400] rev 33943
tests: update test-annotate to pass our module import checker
Mon, 03 Jul 2017 03:56:53 +0200 obsolete: fix old typo
Boris Feld <boris.feld@octobus.net> [Mon, 03 Jul 2017 03:56:53 +0200] rev 33942
obsolete: fix old typo Clean an old typo in successorssets. Differential Revision: https://phab.mercurial-scm.org/D531
Mon, 03 Jul 2017 03:54:24 +0200 obsolete: move merge logic on the smaller object
Boris Feld <boris.feld@octobus.net> [Mon, 03 Jul 2017 03:54:24 +0200] rev 33941
obsolete: move merge logic on the smaller object Refactor some logic in _succs in order to clean successorssets code. Differential Revision: https://phab.mercurial-scm.org/D530
Mon, 28 Aug 2017 04:11:58 +0530 releasenotes: view admonition titles using -l flag
Rishabh Madan <rishabhmadan96@gmail.com> [Mon, 28 Aug 2017 04:11:58 +0530] rev 33940
releasenotes: view admonition titles using -l flag Since this extension is fairly new for almost all the contributors, remembering the admonition (with titles) is difficult. The list (-l) flag provides a list of all the active admonitions along with titles. For usage, hg releasenotes -l returns the list. Differential Revision: https://phab.mercurial-scm.org/D454
Sat, 26 Aug 2017 16:00:07 -0700 tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com> [Sat, 26 Aug 2017 16:00:07 -0700] rev 33939
tests: move baduisetup test inside "#if demandimport" The test case depends on the failure happening not at import time, but at uisetup() time, so it doesn't make sense when demandimport is disabled. There was already a section for testing demandimport stuff, so I moved it inside that existing section. As part of the move, I enabled the extension using '--config' so subsequent tests don't get the bad extension enabled. Differential Revision: https://phab.mercurial-scm.org/D526
Fri, 25 Aug 2017 15:50:07 -0700 revlog: abort on attempt to write null revision
Martin von Zweigbergk <martinvonz@google.com> [Fri, 25 Aug 2017 15:50:07 -0700] rev 33938
revlog: abort on attempt to write null revision My repo got corrupted yesterday by something that ended up writing the null revision to the revlog (nullid hash, not nullrev index, of course). We use many extensions internally (narrowhg, remotefilelog, evolve, internal extensions) and treemanifests are on. The null revision was written to the changelog, the root manifest log, and one subdirectory manifest log. I have no idea exactly why the null revision was written, but it seems cheap enough to check that we should fail instead of corrupting the repo. Differential Revision: https://phab.mercurial-scm.org/D522
Tue, 22 Aug 2017 23:39:05 -0700 context: remove unnecessary default values for matchers (API)
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Aug 2017 23:39:05 -0700] rev 33937
context: remove unnecessary default values for matchers (API) ctx._dirstatestatus() is called only from workingctx._buildstatus() and that function, in turn, is called only from basectx.status(). basectx.status() will always pass a matcher to _buildstatus(), so there's no need to handle a None matcher there. Differential Revision: https://phab.mercurial-scm.org/D492
Tue, 22 Aug 2017 23:27:55 -0700 context: always pass a matcher into _matchstatus() (API)
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Aug 2017 23:27:55 -0700] rev 33936
context: always pass a matcher into _matchstatus() (API) This just makes it a little easier to follow and removes the need to call the superclass's method in workingctx. Differential Revision: https://phab.mercurial-scm.org/D491
Wed, 23 Aug 2017 11:30:25 -0700 test-casecollision-merge: fix the test
Jun Wu <quark@fb.com> [Wed, 23 Aug 2017 11:30:25 -0700] rev 33935
test-casecollision-merge: fix the test D30 (055fee3547df) makes the error message unpredictable, therefore the fix. Differential Revision: https://phab.mercurial-scm.org/D494
Sun, 20 Aug 2017 09:46:27 -0700 run-tests: make per-line condition support testcase names
Jun Wu <quark@fb.com> [Sun, 20 Aug 2017 09:46:27 -0700] rev 33934
run-tests: make per-line condition support testcase names 7340465bd added multiple test cases support. The latter has a problem - output lines cannot be made conditional with `#if`: ``` # COUNTEREXAMPLE: DOES NOT WORK #testcases A B $ command-foo common ouput #if A A's ouput #else B's ouput #endif common ouput ``` That's not trivial to fix (even if it works in test, `run-tests.py -i` may be suboptimal because diff algorithm does not know how to skip the `#if` lines, even if it does, it may have trouble figuring out whether a changed line belongs to inside a `#if` block or outside). Matching output lines conditionally is useful. 4eec2f04a added per-line condition support for hghave. This patch extends that to also support test case names. Differential Revision: https://phab.mercurial-scm.org/D466
(0) -30000 -10000 -3000 -1000 -300 -100 -48 +48 +100 +300 +1000 +3000 +10000 tip