20080109 Fighting CVS
News.20080109FightingCVS History
Hide minor edits - Show changes to markup
Tadaaaa! Now all that is left is to find out, how the different tags gccxml-0-6* differ from each other.
Tadaaaa! Now all that is left is to find out, how the different tags gccxml-0-6* differ from each other.
I'll just start off with the gccxml-0-6:
[dj@localhost gccxml]$ cvs update -r gccxml-0-6
{
So here is how I found the tag name to use:
[@
}
@]
Tadaaaa! Now all that is left is to find out, how the different tags gccxml-0-6* differ from each other.
{ [dj@localhost gccxml]$ cvs status -v -l cvs status: Examining .
...
=================================================================== File: README Status: Up-to-date
Working revision: 1.2 Repository revision: 1.2 /cvsroot/GCC_XML/gccxml/README,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) Existing Tags: gccxml-gcc42-mp1-post (revision: 1.1) gccxml-gcc42-mp1 (revision: 1.1) gccxml-gcc42-mp1-pre (revision: 1.1) gccxml-gcc42 (branch: 1.1.4) gccxml-gcc42-bp (revision: 1.1) gccxml-0-6-0 (revision: 1.1) gccxml-0-6 (branch: 1.1.2) gccxml-0-6-bp (revision: 1.1)
...
[dj@localhost gccxml]$ }
The problem
For my project I need to go back in time, becaue I departed it about two years ago. Luckily I wrote down the version of gccxml, that I used: Version 0.6.0. There surely is a tag for that... but what's its name?
My problem is now, that for one of my projects I have to deal with CVS in a more fashionate way than just use it to download source code.
Tags are used for marking a certain point in time (and so a certain status of all files) with a name you can remember.
My problem is now, that for one of my projects I have to deal with CVS in a more elaborate way than just use it to download source code. And this has to do with tagging.
Tags are used for marking a certain point in time (and so a certain status of the versioned files) with a name you can remember. One easy to comprehend use case is nameing release versions. If one day you want to see, what your source code looked like for release 1.0.3c, you better tagged that, because if you're anything like me, you won't remember of which versions of which files (for CVS; for Subversion you need only to remember one number) made up that release. After all, as you have a SCM tool, that's just one of the things you'd certainly want the tool to do for you, right?
The problem
I never got to like CVS, because I started to use version control with Subversion, which was written specifically to replace CVS. Subversion seems to me a lot less complicated to understand. You can learn the Subversion essentials in about 1 hour from the Subversion book. This even includes the basics of the "advanced" revision control concepts, namely branching and tagging!
CVS and Subversion
I never got to like CVS, because I started to use version control with Subversion, which was written specifically to replace CVS. Subversion seems to me a lot less complicated to understand. You can learn the Subversion essentials in about 1 hour from the Subversion book. This even includes the basics of the "advanced" revision control concepts, namely branching and tagging!
My problem is now, that for one of my projects I have to deal with CVS in a more fashionate way than just use it to download source code.
Tags are used for marking a certain point in time (and so a certain status of all files) with a name you can remember.
The tasks and how to perform them
Intro
Well then. CVS stands for concurrent versions system and SCM stands for either software configuration management or for source code management.
What CVS does is known as (centralized) revision control. You'll find info on that in this great visual guide to version control.
Well then. CVS stands for concurrent versions system and SCM stands for either software configuration management or for source code management.
What CVS does is known as (centralized) revision control. You'll find info on that in this great visual guide to version control.
The problem
I never got to like CVS, because I started to use version control with Subversion, which was written specifically to replace CVS. Subversion seems to me a lot less complicated to understand. You can learn the Subversion essentials in about 1 hour from the Subversion book. This even includes the basics of the "advanced" revision control concepts, namely branching and tagging!
Fighting CVS
CVS is the name of a SCM tool.
It doesn't help much, to explain acronyms using acronyms, does it?
Well then. CVS stands for concurrent versions system and SCM stands for either software configuration management or for source code management.
What CVS does is known as (centralized) revision control. You'll find info on that in this great visual guide to version control.