Differences between revisions 5 and 6
Revision 5 as of 2012-02-05 15:34:17
Size: 1379
Comment:
Revision 6 as of 2012-05-11 07:02:50
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 e
xperimental 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

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)