viscousmemories
04-01-2005, 12:43 AM
My roommate finally convinced me to start using CVS on the Linux server we have here at home to manage the forum software. So far I haven't had any trouble keeping control of the hacks and modifications we've made to vBulletin, but as time goes by it will become more and more important to have a stable management system. So I've spent the last few days reading about and setting up CVS here at home, and just thought I'd share a tiny bit of what I've learned. Please feel free to correct or clarify any of this.
What is CVS
CVS stands for Concurrent Versioning System.
In short, CVS is a computer program that facilitates project development and collaboration by keeping an ongoing record of changes to data files.
Say for example you are a writer, and you're working on the Great American Novel. Every day you open the story.txt file on your computer and work on the story. Most of the time you'll probably just add on to what's there, but other times you might go back and modify or remove something you wrote previously. In any case, when you're done working on the story you'll save the file, and the next time you open it you'll see it just as it was after your last edit.
Now imagine that one Friday afternoon you're proofing one of the later chapters of the story and it dawns on you that on Monday you had deleted a large section of Chapter Two that you had thought superfluous, but was in fact an important prelude to something that happens in Chapter Seven. Wouldn't it be nice if you had a copy of the story just as it was on Monday, so you could just click a button and restore that section, but without losing the changes you'd made since?
That's just one of the myriad uses CVS has.
Now, if you really are a writer, you're probably thinking something like "Microsoft Word already gives me the power to track changes to a document. I have no use for CVS!"
Well truth be told, if all you needed was to track edits to a single file I'd say you're probably right. But where CVS really shines is not managing changes to a single document file, but managing changes to multiple files related to a single computer programming project.
Here's how it works:
The system administrator creates a CVS "repository" on a file server.
You import your programming project into CVS.
When you want to edit the program you "checkout" the files you want to work on.
When you're done making changes you "commit" the files back to CVS.
And in grossly oversimplified terms, here's what that means:
The system administrator creates a directory (folder) on the server.
You copy your original program files into that directory.
When you want to make changes you get copies of the originals from the server and edit them.
When you're done working on the files you copy them back to the server and CVS records the changes.
Not only does this allow you to revert to any last known saved version of a file or collection of files as needed, but there are also numerous collaboration features built in that allow many people to work on the same set of files simultaneously without overwriting each others changes.
What is CVS
CVS stands for Concurrent Versioning System.
In short, CVS is a computer program that facilitates project development and collaboration by keeping an ongoing record of changes to data files.
Say for example you are a writer, and you're working on the Great American Novel. Every day you open the story.txt file on your computer and work on the story. Most of the time you'll probably just add on to what's there, but other times you might go back and modify or remove something you wrote previously. In any case, when you're done working on the story you'll save the file, and the next time you open it you'll see it just as it was after your last edit.
Now imagine that one Friday afternoon you're proofing one of the later chapters of the story and it dawns on you that on Monday you had deleted a large section of Chapter Two that you had thought superfluous, but was in fact an important prelude to something that happens in Chapter Seven. Wouldn't it be nice if you had a copy of the story just as it was on Monday, so you could just click a button and restore that section, but without losing the changes you'd made since?
That's just one of the myriad uses CVS has.
Now, if you really are a writer, you're probably thinking something like "Microsoft Word already gives me the power to track changes to a document. I have no use for CVS!"
Well truth be told, if all you needed was to track edits to a single file I'd say you're probably right. But where CVS really shines is not managing changes to a single document file, but managing changes to multiple files related to a single computer programming project.
Here's how it works:
The system administrator creates a CVS "repository" on a file server.
You import your programming project into CVS.
When you want to edit the program you "checkout" the files you want to work on.
When you're done making changes you "commit" the files back to CVS.
And in grossly oversimplified terms, here's what that means:
The system administrator creates a directory (folder) on the server.
You copy your original program files into that directory.
When you want to make changes you get copies of the originals from the server and edit them.
When you're done working on the files you copy them back to the server and CVS records the changes.
Not only does this allow you to revert to any last known saved version of a file or collection of files as needed, but there are also numerous collaboration features built in that allow many people to work on the same set of files simultaneously without overwriting each others changes.