Version control
Revision control is a practice which maintains control over changes.
In its simpilist form, revision control is no more then version numbering. This permits many people to pinpoint which edition, or version, of a program they a discussing.
Problem demonstrated:
Customer:"We're running doh.exe and it keeps saving all our images with the wrong names."
New Software Guy: "Hmmmm, nope, we don't have that problem."
Customer:"WELL I DO!"
New Software Guy: "Well the customer is always right, I'll spend a week looking for your bug."
(month)
New Software Guy: "I'm sorry but I really can't find your bug."
Customer:"I'm sending you a small heavy 'care-package' in thanks for wasting my time"
More complex revision control methodologies allow many people to work on the same project without fear that they wil overwrite each other's changes.
Problem demonstrated:
Manager:"Tom, you fix the operations part of manual.doc. Fred, you fix the installation part of manual.doc"
Tom:"I'll just load this up and go to lunch."
Fred:"bathroom first, load this and edit it through lunch hour ... I'm done, save, lunch"
Tom:"Burp. Let's see, change 'press red button to go' into 'press green button to go', save. I'm done."
Manager: "Fred, when are you going to start on your part of manual.doc?"
Tom's entire copy of manual.doc was written to disk, completely overwritting Fred's work.
Two software solutions present themselves. First, it is possible that some software be written which only permits one person to edit a file at a time. In which case Fred would be annoyed at Tom. Since Tom left the file open on his machine during lunch, Fred would not have been able to do any work on it. Second, a version control program could inform you of the differences in the version you are saving and the version on disk. You would then be prompted to decide which differences to save and which to drop. Tom would decide to drop his outdated installation section and keep his updated operations section.
version control packages: CVS (concurrent version system) and RCS (revision control system)