Size: 1379
Comment:
|
Size: 1477
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
* Experimental yet usable extension: http://bitbucket.org/marmoute/mutable-history/overview | * Various documentation on the topic: http://hg-lab.logilab.org/doc/mutable-history/html/ * Related experimental extension (usable): 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/
Various documentation on the topic: http://hg-lab.logilab.org/doc/mutable-history/html/
Related experimental extension (usable): 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)