[PATCH 0 of 9 phases] Basic phase movement patches
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Mon Nov 7 11:43:12 CST 2011
Here is 9 patches that implements basic phase movement:
* changeset committed locally are in 1-phase
* anything that exist elsewhere is 0-phase
The commit and push/pull have been grouped in the same series. Using roots make
"commit are 1-phase" and "pushed are 0-phase" use different code path and I
needed to test both.
Next series will be :
phases: add a mutable boolean property on context
phases: prevent rebase to rebase immutable changeset
phases: prevent mq to qimport immutable change
This series will require some hack in the test suite as most mq and rebase
test start by pulling a bundle. (the hack will probably be rm
.hg/store/phase-roots)
The series after will be:
phases: add a phases.publish option
phases: update exchange test to include node hash.
phases: add basic pushkey support
phases: add a function to compute phase-heads from roots
phases: exchange phase boundaries on pull
phases: exchange phase boundaries on push
This series will include some temporary hack for executin code inside the
addchangegroup function depending of the caller. This would require a wider
refactoring but I belive we better delay this refactoring until we
implement phase hooks
I updated the StatePlan Page with though about hooks for phases. People
interrested in the topic will want to read it here:
http://mercurial.selenic.com/wiki/StatesPlan#Controlling_and_Hooking_on_phase_movement.
More information about the Mercurial-devel
mailing list