Differences between revisions 4 and 7 (spanning 3 versions)
Revision 4 as of 2008-04-02 22:27:10
Size: 1258
Editor: abuehl
Comment: mercurial -> Mercurial
Revision 7 as of 2013-09-02 01:57:06
Size: 1258
Editor: KevinBot
Comment:
No differences found!

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)