Yeah, I know... Why on earth would I use CVS when it's obvious that git is the king of version control? I'm asking myself the same question.
There are multiple reasons, so I'll start with the fact that it's part of base and includes a fairly detailed info(1) page for idiots like me. Now there's nothing wrong with the man page, it's certainly clear and detailed enough. However, for complete beginners like myself the info page is actually more useful since it's really more of a tutorial. This marks the first time I've ever used version control of any kind, so I need the spoon feeding.
It also marks the first time I've ever used GNU info, something I never thought would happen... Life is just _full_ of surprises, isn't it? Sure, the user interface is kind of weird compared to man, but it has links. Of course it's not so pretty and simple behind the curtain (or so I've read), but I won't even go there as it's way off topic.
Actually, git was the first choice _because_ it's the most widely used tool, so the web should be rich with documentation... Except I like simple tools that don't require a lot of thinking to use and don't require too much reading just to get started. That should be kind of obvious by now as the previous posts follow a trend that favours simplicity. On that note, git is not simple. It's intimidating in both scale and scope, and I'm not the only one who thinks so. With CVS, I was able to set up some new modules in a repository with SSH access in just a few minutes, and that was after maybe five minutes on the web to read two short pages on the subject. Reading the info(1) page for cvs provides more supplemental documentation that explains things in a way that I can follow, and from there the man page begins to make sense as the pieces fall into place.
There is another tool called Game of Trees which is being developed on (and for) OpenBSD, though it's still in development and relies on git for HTTP at this time. Still, it's (mostly) compatible with git and even has a similar command set to CVS (thankfully), but I see no reason to install new tools when base includes things that fit my rather simple needs. And besides, I'm not quite ready to make a public repository, but if I ever do then I'll probably use got to keep things simple on my end.
Now it hasn't been entirely smooth sailing with CVS... Maybe I just didn't read the manual, but I've had to rebuild a repository many times after renaming things in the working directory. Really there should be no reason to move things around so much, but the old source tree that was being imported had been disorganized for a while, and I couldn't seem to settle on a specific layout. It's also not very fun to manually mark files for deletion AFTER they have been removed from the file-system. That doesn't make any sense, and may be cause for some of the issues I've had. It's all sorted out now, though much initial history has been lost as a result.
I really miss the days where "version control" wasn't even a thing for me to think about, but the recent resurgence of C and Go programming has made it necessary. That will be the subject of the next post.
=> ../../index.gmi Home
=> index.gmi Back to "Adventures in OpenBSD" index