Thu, 07 Aug 2014 14:11:36 -0700 phase: attach phase to the transaction instead of the lock
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 Aug 2014 14:11:36 -0700] rev 22080
phase: attach phase to the transaction instead of the lock The phase cache file is no longer written on lock release, it is now handled by the transaction (as changesets and obsolescence markers are). (Hooray) As we stop relying on the lock to write phase, repos with no existing phase information will need to wait for a phase move or a strip to happen in order to get the first write in the `phaseroots` file. This explain the change in test-inherit-mode.t. This should not have any side effects but in very obscure cases where people interact with pre-2.1 and post-2.1 versions of Mercurial on the same repo while having MQ patches applied but the MQ extension disabled from time to time. A case unlikely enough to not be worth preserving the old behavior with awful hacks.
Thu, 07 Aug 2014 14:41:00 -0700 phase: extract the phaseroots serialization in a dedicated method
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 Aug 2014 14:41:00 -0700] rev 22079
phase: extract the phaseroots serialization in a dedicated method In most case, the file creation logic will be handled by the transaction itself. The write method has to stay around for the case where the repository is modified outside a transaction (strip).
Thu, 07 Aug 2014 14:40:02 -0700 transaction: add a file generation mechanism
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 Aug 2014 14:40:02 -0700] rev 22078
transaction: add a file generation mechanism A new `transaction.addfilegenerator` function is added. It allows external code to register files to be generated. See inline documentation for details. It is important to gather all file creation logic on the transaction as at some point we'll want to mimic the "pre-transaction-commit" logic that we use for revlog. I'm refering to the logic that lets hooks see the result of the transaction before it actually gets committed.
Thu, 07 Aug 2014 10:54:17 -0700 transaction: backup file in a dedicated "namespace"
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 Aug 2014 10:54:17 -0700] rev 22077
transaction: backup file in a dedicated "namespace" File backup may conflict with other "journal.*" file. We add a fixed part in the backup name file to prevent it.
Thu, 07 Aug 2014 11:56:32 -0700 transaction: use `self.journal` to create backup file
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 Aug 2014 11:56:32 -0700] rev 22076
transaction: use `self.journal` to create backup file Transaction journal name is "journal" in most case, but it can be something else. We use the appropriate attribute to create the file.
Tue, 17 Jun 2014 20:55:06 -0700 memctx: add note about p2
Sean Farley <sean.michael.farley@gmail.com> [Tue, 17 Jun 2014 20:55:06 -0700] rev 22075
memctx: add note about p2
Fri, 25 Jul 2014 20:20:26 -0500 memfilectx: add remove and write methods
Sean Farley <sean.michael.farley@gmail.com> [Fri, 25 Jul 2014 20:20:26 -0500] rev 22074
memfilectx: add remove and write methods Similar to the previous patch for workingfilectx, this patch will allow abstracting localrepo.remove / write method to refactor working directory code but instead operate on files in memory.
Wed, 02 Jul 2014 14:01:01 -0500 workingfilectx: add remove and write methods
Sean Farley <sean.michael.farley@gmail.com> [Wed, 02 Jul 2014 14:01:01 -0500] rev 22073
workingfilectx: add remove and write methods This patch will allow abstracting localrepo.remove / write method to refactor working directory code.
Fri, 25 Jul 2014 19:36:01 -0500 memctx: create a filectxfn if it is not callable
Sean Farley <sean.michael.farley@gmail.com> [Fri, 25 Jul 2014 19:36:01 -0500] rev 22072
memctx: create a filectxfn if it is not callable This will allow future patches to construct a memctx based on another context or any other store-type object.
Thu, 07 Aug 2014 11:39:19 -0400 test-patchbomb.t: work around Python change d579866d6419 (issue4188)
Augie Fackler <raf@durin42.com> [Thu, 07 Aug 2014 11:39:19 -0400] rev 22071
test-patchbomb.t: work around Python change d579866d6419 (issue4188) Python 2.7.7 and later (as well as some ubuntu/debian packages of 2.7.6) include a fix that makes the email module more pedantically correct for MIME boundaries, but this breaks our tests. We work around this by filtering the output of any 'hg email' invocations in the test that produce MIME messages.
Tue, 05 Aug 2014 23:52:21 -0700 phase: add a transaction argument to retractboundary
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 05 Aug 2014 23:52:21 -0700] rev 22070
phase: add a transaction argument to retractboundary We now pass a transaction option to this phase movement function. The object is currently not used by the function, but it will be in the future. All call sites have been updated. Most call sites were already enclosed in a transaction for a long time. The handful of others have been recently updated in previous commit.
Wed, 06 Aug 2014 01:54:19 -0700 phase: add a transaction argument to advanceboundary
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 01:54:19 -0700] rev 22069
phase: add a transaction argument to advanceboundary We now pass a transaction option to this phase movement function. The object is currently not used by the function, but it will be in the future. All call sites have been updated. Most call sites were already enclosed in a transaction for a long time. The handful of others have been recently updated in previous commit. The retractboundary function remains to be upgraded.
Wed, 06 Aug 2014 00:54:37 -0700 pull: pre-filter remote phases before moving local ones
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 00:54:37 -0700] rev 22068
pull: pre-filter remote phases before moving local ones We were relying on the phase internals to filter out redundant phase information from remove. However as we plan to integrate phase movement inside the transaction, we want to avoid useless transaction creation on no-op pulls. Therefore we filter out all the information that already matches the current repository state. This will let us create a transaction only when there is actual phase movement needed.
Wed, 06 Aug 2014 01:40:51 -0700 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 Aug 2014 01:40:51 -0700] rev 22067
test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets We introduce a test-check-commit-hg.t file that will happily run the check-commit file on all draft changeset under the working directory. This should help newcomers to catch up with the rules. (And will helps old timer from time to time).
(0) -10000 -3000 -1000 -300 -100 -14 +14 +100 +300 +1000 +3000 +10000 +30000 tip