Differences between revisions 2 and 3
Revision 2 as of 2008-03-27 22:05:29
Size: 1207
Comment:
Revision 3 as of 2008-03-28 13:49:49
Size: 1258
Comment: Camelcase
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from MathieuClabaut/Modelling

Some rant about general VCS requirements which will ideally end in a formal model matching mercurial implementation (with hope it's not totally out of topic on the mercurial wiki).

See this page as a pure intellectual exercise for now.

Requirements

Express from coarser detail to finer detail.

High level requirements

  • Manage objects (will be files, directory, metadata...)
    • add object
    • remove object
    • modify object
  • keep immutable history (except for obliterating some content ?)
  • restore state from the past

Intermediate level requirements

  • keep trace of who did the object management actions
  • add property to objects (comment, date, author..)
  • add property to history state (tags ?)

Distributed requirements

  • Local history (will end in repository / branches)
    • clone
    • merge

Other secondary requirements

  • narrow/shallow cloning ?

Low levels requirements

Map to mercurial commands/functions:

  • init, add, remove, backout, branch, clone, commit, copy, move, merge, push, pull, revert, tag

Map to mercurial internals:

  • manifest, revlogs,

Formal Method

  • B event (via rodin platform)

MathieuClabaut/VcsModelling (last edited 2013-09-02 01:57:06 by KevinBot)