views:

1296

answers:

10

Which is the correct name for a system which stores versions of source code, like SVN or TFS?

I've always called it source control, but places like Wikipedia calls it revision control?

To make this more complicated sites like this one have a tag for both?

+1  A: 

another name is: version-control

Based on the tags used on this site, "source control" is the most popular one (which is quite normal, since this site is about programming):

  • source control (633 tags)
  • version control (587)
  • revision control (31)
M4N
I wish the tags got merged or something. Having multiple tags meaning the same makes things harder to search.
Nicolás
+1  A: 

There's not a "correct" name, the four common names are:

  • Version control system
  • Revision control system
  • Source control system
  • Source code management system
jwanagel
+1  A: 

Certain systems (like SVN) have a term revision which stands for a number associated with a specific set of versions of all files in the repository. In such systems revision (SVN revision) essentially means version (sources version). Otherwise revision control and version control are the same terms.

sharptooth
+34  A: 
  • Revision control is the more generic term, used for source-control tools but also for other tools (Word, OpenOffice, ...). It references a version.

  • Source Control offers revision control with branching and merging which are not always available in all revision tools (Word is not a Source Control, but offer revision control features)

  • Version Control is a more general term than Source Control in that it manages version of anything (sources or binaries, or any kind of documents)

Note: SCM stands for Source Code Management, but also for Software Code Management, to reflect the same idea (not just "sources" are managed).
Plus SCM introduces the notion of dependencies between group of files.
And it can also includes the notion of change lifecycle (start a change, close a change, ...) which leads to change request system.

VonC
Also SCM stands for Software Configuration Management.
There should also be a distinction between the "tool", or software such as git, hg, and svn; and the "practice", which has a policy at a company, and may be "source code management", or "software configuration management".
maxwellb
why are you sorry about the bounty? the fact you were up voted by a factor of 10 should indicate you have the best answer. the auto-accept system works fine.
Robert MacLean
+3  A: 
  • Version Control System (VCS) is the most commonly used term
  • Source Code Management (SCM) is used in git, but it's sort of invented and can be confused with Software Configuration Management which is already used in the software industry and it's not the same thing.
felipec
A: 

If historic precedence is anything to go by, the term should be Source Code Control - see http://en.wikipedia.org/wiki/Source_Code_Control_System

anon
+5  A: 

I like to think of it this way:

Revision Control is what they do.

Source Control is what I use them for.

:-)

Ron

Ron Savage
+3  A: 

The terminology used is not very precise. There is an article describing the five relevant dimensions. Data management tools for software development don't tend to support more than three of them consistently at the same time. If you want to support all five you have to describe a development proces:

  • Version (semantics: modification)
  • View (semantics: equivalence, derivation)
  • Hierarchy (semantics: consists of)
  • Status (semantics: approval, accessibility)
  • Variant (semantics: product variations)

Peter van den Hamer and Kees Lepoeter (1996) Managing Design Data: The Five Dimensions of CAD Frameworks, Configuration Management, and Product Data Management, Proceedings of the IEEE, Vol. 84, No. 1, January 1996

Stephan Eggermont
A: 

MIL-STD 973 Describes Configuration management.

Software Configuration Management is done exactly the same.

See the CMMI for a nice explanation of SCM/CM.

The systems of which you speak are version control systems. They version things.

Old SCCS was a Source Code Control System.

Source code control systems maintain revision history.

Say you change a file from revision

1.1 , 1.2, 1.3.

At 1.3 we release "Awesome Edition" of our product.

1.3 is a revision AwesomeEdition is a version.

In systems like CVS, revisions happen as numbering changes , and tags mark versions. SVN type repository revision numbering confuses government customers who expect MIL-STD kind of behaviour.

The great thing about standards in change management is that there are so many to choose from.

Tim Williscroft
A: 

So, what exactly are you looking for now?

I don't think there is one right term. Both terms, as well as some other already mentioned in other replies are used for basically the same thing.

Persons you are talking to will connect it to slightly different meaning even when using the same word for it - and they can mean really exactly the same thing, even when using another word.

Then again, the vocabulary used around these things can also be different(or attached to different meanings) in circles around different software implementations of this concept.

While writing this, it comes to my mind that this is a very natural phenomenon - in other areas you also have multiple words standing for basically the same meaning - while some would argue there are actually slight differences, some others would say these differences do not really exist or aren't worth thinking about. And it's never guaranteed that when two people use the exact same word, that they really mean the exact same thing.

Henning