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.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -4 +4 +10 +30 +100 +300 +1000 +3000 +10000 tip