Tue, 09 Dec 2014 03:45:26 +0100 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com> [Tue, 09 Dec 2014 03:45:26 +0100] rev 23517
rebase: show more useful status information while rebasing Show status messages while rebasing, similar to what graft do: rebasing 12:2647734878ef "fork" (tip) This gives more context for the user when resolving conflicts.
Sun, 07 Dec 2014 20:04:45 +0100 tests: make 'saved backup' globbing less narrow in rebase tests
Mads Kiilerich <madski@unity3d.com> [Sun, 07 Dec 2014 20:04:45 +0100] rev 23516
tests: make 'saved backup' globbing less narrow in rebase tests Globbing the hash made it harder to maintain tests with run-tests -i when it was so far by the generated test output. The hashes are stable and we just need to add a (glob).
Tue, 09 Dec 2014 03:37:06 +0100 tests: stabilise mq rebase tests
Mads Kiilerich <madski@unity3d.com> [Tue, 09 Dec 2014 03:37:06 +0100] rev 23515
tests: stabilise mq rebase tests Prepare for including hashes in output ... and less globbing make the tests easier to update.
Tue, 09 Dec 2014 14:45:12 -0500 test-graft: use strip extension instead of mq extension
Augie Fackler <raf@durin42.com> [Tue, 09 Dec 2014 14:45:12 -0500] rev 23514
test-graft: use strip extension instead of mq extension It only needs strip, no reason to load all of mq.
Thu, 04 Dec 2014 13:52:46 -0800 transaction: remove the 'onabort' mechanism
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Dec 2014 13:52:46 -0800] rev 23513
transaction: remove the 'onabort' mechanism It has no known users. If someones needs similar functionality, a new 'addabort' method similar to 'addfinalize' should be added.
Thu, 04 Dec 2014 13:51:41 -0800 transaction: remove the redundant 'onclose' mechanism
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Dec 2014 13:51:41 -0800] rev 23512
transaction: remove the redundant 'onclose' mechanism It is superseded by the 'addfinalize' function and all its user have been migrated.
Thu, 04 Dec 2014 16:35:03 -0800 fncache: document the fact fncache is outdate at hook run time
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Dec 2014 16:35:03 -0800] rev 23511
fncache: document the fact fncache is outdate at hook run time Using 'addfinalize' to generate 'fncache' means that no pending version of the file will be generated for the hooks. We would have to use the 'addfilegenerator' method to get such result. However the 'fncachevfs' (who decide that a write is necessary) have no access to the transaction to register such file generation at add time. Having the transaction accessible to the 'vfs' is too much trouble for no benefit. This outdated 'fncache' file at hook time is not expected to be an issue. The previous move from 'onclose' to 'addfinalize' had no impact on this timing. I'm documenting it now because I looked at it.
Thu, 04 Dec 2014 13:49:45 -0800 fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize'
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Dec 2014 13:49:45 -0800] rev 23510
fncache: drop dedicated 'onclose' function in favor of 'tr.addfinalize' Now that we have a shiny generic mechanism, we can use it.
Tue, 09 Dec 2014 13:32:19 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 09 Dec 2014 13:32:19 -0600] rev 23509
merge with stable
Tue, 09 Dec 2014 12:39:23 -0600 graft: drop cset description from empty commit message
Matt Mackall <mpm@selenic.com> [Tue, 09 Dec 2014 12:39:23 -0600] rev 23508
graft: drop cset description from empty commit message This is either already redundant in the output or too verbose in quiet mode.
Tue, 09 Dec 2014 03:38:23 +0100 graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com> [Tue, 09 Dec 2014 03:38:23 +0100] rev 23507
graft: show hashes in user-facing messages Graft was in various places just showing the revision number in status messges. Instead, also show the stable and more useful short hash.
Tue, 09 Dec 2014 03:38:23 +0100 graft: give helpful warning for empty grafts
Mads Kiilerich <madski@unity3d.com> [Tue, 09 Dec 2014 03:38:23 +0100] rev 23506
graft: give helpful warning for empty grafts It was just showing a status message with the internal revision number. Instead, show a warning like note: graft of 27:3aaa8b6725f0 "28" created no changes to commit (message tweaked in-flight by mpm)
Tue, 09 Dec 2014 03:38:23 +0100 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com> [Tue, 09 Dec 2014 03:38:23 +0100] rev 23505
graft: show more useful status information while grafting Show status messages with first line of commit description and names, like grafting 12:2647734878ef "fork" (tip) This gives more context for the user when resolving conflicts.
Tue, 09 Dec 2014 03:37:55 +0100 tests: test coverage for empty graft
Mads Kiilerich <madski@unity3d.com> [Tue, 09 Dec 2014 03:37:55 +0100] rev 23504
tests: test coverage for empty graft A future change will add a warning to the quiet rebase.
Sun, 07 Dec 2014 10:54:29 -0500 largefiles: drop the unfiltered repo usage in overridepurge()
Matt Harbison <matt_harbison@yahoo.com> [Sun, 07 Dec 2014 10:54:29 -0500] rev 23503
largefiles: drop the unfiltered repo usage in overridepurge() Now that repoview supports replacing methods, we don't need this hack.
Sun, 07 Dec 2014 10:52:56 -0500 repoview: allow methods on the proxy class to be replaced
Matt Harbison <matt_harbison@yahoo.com> [Sun, 07 Dec 2014 10:52:56 -0500] rev 23502
repoview: allow methods on the proxy class to be replaced It doesn't seem to be a common idiom for repo instances, but the status() method is replaced in largefiles' purge() override. Since __setattr__ is implemented in repoview to setattr() on the unfiltered repo, the replacement method wouldn't get called unless it was invoked with the unfiltered repo, because the filtered repo remains unchanged. Since this doesn't seem to be commonly used, I didn't bother to filter out methods that perhaps shouldn't be replaced, such as changelog().
Mon, 08 Dec 2014 15:41:54 -0800 log: fix log revset instability stable
Durham Goode <durham@fb.com> [Mon, 08 Dec 2014 15:41:54 -0800] rev 23501
log: fix log revset instability The log/graphlog revset was not producing stable results since it was iterating over a dict. Now we sort before iterating to guarantee a fixed order. This fixes some potential flakiness in the tests.
Fri, 05 Dec 2014 14:27:32 -0800 log: fix log -f slow path to actually follow history stable
Durham Goode <durham@fb.com> [Fri, 05 Dec 2014 14:27:32 -0800] rev 23500
log: fix log -f slow path to actually follow history The revset created when -f was used with a slow path (for patterns and directories) did not actually contain any logic to enforce follow. Instead it was depending on the passed in subset to already be limited (which was limited to :. but not ::.). This fixes it by adding a '& ::.' to any -f log revset. hg log -f <file> is still broken, in that it can return results that aren't actually ancestors of the current file, but fixing that has major perf implications, so we'll deal with it later.
Wed, 26 Nov 2014 23:23:33 -0800 obsstore: cache size computation for fm1 node
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 26 Nov 2014 23:23:33 -0800] rev 23499
obsstore: cache size computation for fm1 node We have two different types of node type (sha1 and sha256, only sha1 is used now) and therefor different sizes for them. We now compute the value once instead of redoing the computation every loop. This has no visible performance impact.
Wed, 26 Nov 2014 23:21:20 -0800 obsstore: prefetch struct.calcsize
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 26 Nov 2014 23:21:20 -0800] rev 23498
obsstore: prefetch struct.calcsize This function is widely used and worth but be at module level. No specific performance boost is visible, but this is more consistent.
Wed, 26 Nov 2014 16:58:31 -0800 obsstore: disable garbage collection during initialization (issue4456)
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 26 Nov 2014 16:58:31 -0800] rev 23497
obsstore: disable garbage collection during initialization (issue4456) Python garbage collection is triggered by container creation. So code that creates a lot of tuples tends to trigger GC a lot. We disable the gc during obsolescence marker parsing and associated initialization. This provides an interesting speedup (25%). Load marker function on my 58758 markers repo: before: 0.468247 seconds after: 0.344362 seconds The benefit is a bit less visible overall. With python2.6 on my system I see: after: 0.60 before: 0.53 The difference is probably explained by the delaying of a costly GC. (but there is still a win). Marking involved tuples, lists and dicts as ignorable by the garbage collector should give us more benefit. But this is another adventure. Thanks goes to Siddharth Agarwal for the lead.
Thu, 04 Dec 2014 05:43:15 -0800 dirstate: use the 'nogc' decorator
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Dec 2014 05:43:15 -0800] rev 23496
dirstate: use the 'nogc' decorator Now that we have a generic way to disable the gc, we use it. however, we have too use it in a baroque way. See inline comment for details.
Thu, 04 Dec 2014 05:43:40 -0800 util: add a 'nogc' decorator to disable the garbage collection
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Dec 2014 05:43:40 -0800] rev 23495
util: add a 'nogc' decorator to disable the garbage collection Garbage collection behave pathologically when creating a lot of containers. As we do that more than once it become sensible to have a decorator for it. See inline documentation for details.
Fri, 05 Dec 2014 22:58:02 -0500 generate-working-copy-states: open() in binary mode when writing content
Matt Harbison <matt_harbison@yahoo.com> [Fri, 05 Dec 2014 22:58:02 -0500] rev 23494
generate-working-copy-states: open() in binary mode when writing content This avoids changes to the hashes on Windows in test-merge-force.t like so: @@ -594,12 +594,12 @@ content2 M missing_content2_content3_content4-tracked - <<<<<<< local: 443153eb5b88 - test: local\r (esc) - content4 - ||||||| base - ======= - content2 - >>>>>>> other: 9b2ccd328a08 - test: remote\r (esc) + <<<<<<< local: 0447570f1af6 - test: local + content4 + ||||||| base + ======= + content2 + >>>>>>> other: 85100b8c675b - test: remote missing_content2_content3_content4-tracked.orig: content4
Fri, 05 Dec 2014 16:45:52 -0800 largefiles: don't use 'r' action for standin that doesn't exist
Martin von Zweigbergk <martinvonz@google.com> [Fri, 05 Dec 2014 16:45:52 -0800] rev 23493
largefiles: don't use 'r' action for standin that doesn't exist When merging and the remote has turned a normal file into a largefile and the user chooses to keep the local largefile, we use the 'r' action for the remote largefile standin. This is wrong, since that file does not exist in the parent of the working copy. Use 'k', which does nothing but debug logging, instead.
Fri, 05 Dec 2014 16:51:37 -0800 largefiles: don't use 'r' action for normal file that doesn't exist
Martin von Zweigbergk <martinvonz@google.com> [Fri, 05 Dec 2014 16:51:37 -0800] rev 23492
largefiles: don't use 'r' action for normal file that doesn't exist When merging and the remote has turned a largefile into a normal file and the user chooses to keep the local largefile, we use the 'r' action for the remote normal file. This is wrong, since that file does not exist in the parent of the working copy. Use 'k', which does nothing but debug logging, instead.
Tue, 02 Dec 2014 12:23:12 -0800 rebase: handle revtodo as a special value when storing/restoring state
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 02 Dec 2014 12:23:12 -0800] rev 23491
rebase: handle revtodo as a special value when storing/restoring state Revtodo happens to share its value with nullrev, but this is an implementation details, so we move away from it. After this changeset one can successfully change the values for all the constants and the tests still pass, but doing so would require more refactoring if we want to avoid breaking backward compatibility on the state file.
Tue, 02 Dec 2014 09:46:20 -0800 rebase: add a 'revtodo' constant
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 02 Dec 2014 09:46:20 -0800] rev 23490
rebase: add a 'revtodo' constant The state mapping is using '-1' to mark revisions that have not been rebased yet. We introduce and use a constant for that purpose. This will help emphasize the fact the value means something other than nullrev.
Thu, 04 Dec 2014 07:03:02 -0800 rebase: use '>= 0' to know is a revision was rebased
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Dec 2014 07:03:02 -0800] rev 23489
rebase: use '>= 0' to know is a revision was rebased The fact that the state for "not yet rebased" is -1 is an implementation details. So we change the comparisons to some semantically more correct.
Tue, 02 Dec 2014 17:35:21 -0800 patchbomb: introduce a 'patchbomb.confirm' option
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 02 Dec 2014 17:35:21 -0800] rev 23488
patchbomb: introduce a 'patchbomb.confirm' option When set to true, this option will make patchbomb always ask for confirmation before sending the email. Confirmation is a powerful way to prevent stupid mistakes when the sending patches. This should let me get rid of my global alias adding --confirm to hg email. I know that some people may get bitten when moving from a machine with confirm configured to a machine where it is not, but I think it is worth the risk.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip