Differences between revisions 2 and 7 (spanning 5 versions)
Revision 2 as of 2008-03-27 22:05:29
Size: 1207
Comment:
Revision 7 as of 2013-09-02 01:57:06
Size: 1258
Editor: KevinBot
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
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). ## 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).
Line 30: Line 31:
Map to mercurial commands/functions: Map to Mercurial commands/functions:
Line 33: Line 34:
Map to mercurial internals: Map to Mercurial internals:

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)