Size: 1138
Comment: Very basic first draft about the evolution concept
|
Size: 1311
Comment: fixed bullets and italicized links
|
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'' |
|
Line 10: | Line 13: |
* 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 |
* 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 |
Line 19: | Line 20: |
* 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) |
* 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) |
Line 27: | Line 26: |
* 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) |
* 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) |
Changeset Evolution Plan
This page is intended for developers
Proposition for safe rewriting of mercurial history. This will have a close relationship with StatesPlan
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)