Size: 1311
Comment: fixed bullets and italicized links
|
Size: 1379
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
* ''Presentation of the concept: http://arrenbrecht.ch/mercurial/evolution/'' * ''Experimental yet usable extension: http://bitbucket.org/marmoute/mutable-history/overview'' |
* Initial presentation at Copenhagen: http://public.octopoid.net/talk.pdf * Presentation of the concept: http://arrenbrecht.ch/mercurial/evolution/ * Experimental yet usable extension: http://bitbucket.org/marmoute/mutable-history/overview |
Changeset Evolution Plan
This page is intended for developers
Proposition for safe rewriting of mercurial history. This will have a close relationship with StatesPlan
Initial presentation at Copenhagen: http://public.octopoid.net/talk.pdf
Presentation of the concept: http://arrenbrecht.ch/mercurial/evolution/
Experimental yet usable extension: http://bitbucket.org/marmoute/mutable-history/overview
1. Core principle
- Store and explicit relation between new and old version of rewritten changeset.
- This relation should *not* be part of the changeset (should not alter the hash).
- People must be able to collaborate on evolving changeset
2. Additional idea
- Save delta in a real changeset.
- This relation should be exchangeable without rewritten changeset.
- Easily allow other extension to manipulate such relation (and to hook on such operation)
3. Situation that should be handled
- Rewriting content of a changeset,
- delete/kill a changeset.
- split a single changeset in multiple one,
- collapse multiple changeset in single one,
- change changeset order,
- adding (eg pulling) a changeset evolution that conflict with another one.
- adding (or adding in general ) new changesets on a one which already evolved (or evolving a changeset that have descendant)