What's the generally used system? Is there a general system, or do all SCM's just set incremting numbers?
A:
I think most SCM will use an incrementing number per item tracked. For instance, Vault does support both versioning of files and folders, so that each file has an (incrementing) version number and the containing folder has one.
Distributed SCM cannot use incrementing numbers, so they will use hashes, unique identifiers or whatever...
Lucero
2009-04-09 14:20:17
+2
A:
There is three kind of internal number for SCM:
- file-centric id (version 1, version 2, ...) for SCM managing their elements on at file to file basic (ClearCase), based on a simple 0-based increment
- a repository-centric id: it established an ID (Subversion revision number) for referencing all files (again, simple increment)
- a commit-centric id (for instance, SHA1 for Git, meaning based on the content) for DAG-based SCM (Directed Acyclic Graph) where the history of a file is linked to the one of a directory linked to a commit.
It is based on :
- an internal base for central SCM, or on
- a computed unique key or hash for distributed SCM
The combination of the two criteria gives you the final id.
An internal version number should no be mistaken for an application version number (like major.minor.build)
VonC
2009-04-09 14:25:12