Initially Check-in a file to the Revision Control system
Check-out the file to get a working copy to use (compile, or edit).
By default, you get the most recent version.
Check-in the file when it is in a state that you decide is worth saving.
System stores the differences, and optional comments and other tags or state information
System stores the username and a timestamp
The new version automatically gets an incremented revision number
Some systems lock the file on Check-out if you intend to edit the file, otherwise you
get a read-only copy. Merging of changes is normally not needed if locking is used.
Other systems do not lock files. You modify your working copy, then try to commit
your changes. If the file has been updated by another user while you were working on it, you must
merge your changes
The files need contain no special content in order to use revision control, but
it is useful to embed identification tags as comments (in whatever language sytax applies)
identification tags are dynamically updated on Check-out to reflect the revision state of that copy
tags can be placed into code as strings to be compiled into the executable
examples of tags are Revision Number, Author, Date, Source.
It is possible to check out older versions of a file, make changes, and check in a revision to
that version, so creating a branch to the revision tree.