Differences between revisions 2 and 3
Revision 2 as of 2011-12-20 18:49:38
Size: 1131
Comment:
Revision 3 as of 2012-02-04 23:53:55
Size: 1301
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:

* 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

* 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)

ChangesetEvolution (last edited 2022-08-14 21:06:00 by StephenRasku)