Time, Attention, and Creative Work. After 4 years and a lot of productivity pr0n, we’re shifting gears. Re-learn how to use 43 Folders. Then back to work. [»]
”What’s 43 Folders?”
43Folders.com is Merlin Mann’s website about finding the time and attention to do your best creative work.
Version control
mdl | Nov 30 2006
Hi, I'm an academic in need of a more rigorous version control system. I'm sick of the confused garble of convulted file names that arise when I try to version my files by hand: "ch.one.4.finalfinaldraft.061021.txt" and so on. Besides those fifty different files take up a lot of space. My question is: as an individual user who needs to version drafts on a local system is it better to go with RCS or CVS? Most of the websites out there praise CVS and belittle RCS, but these seem mainly to have been written by coders working collaboratively. I like the simplicity of RCS (no elaborate setup). I like how it prompts me to make a quick note about each update. And I love the fact that the version (,v) file resides in the same directory as my draft, so that I can grep it if I'm looking for a line or bit of information that was in an older draft. Though I can't use it remotely, the version file is wonderfully portable and can still be read in a text editor on non-unix/linux machines. To get a quick overview of everything I've done, I can skim through this file, which is basically a repository of the most recent version and anything that has changed in older drafts. Thus, if I delete a paragraph or line in the draft, it is saved forever in my version (,v) file. Am I missing something? Is there some amazing advantage to using CVS remotely that I'll discover down the road, making me regret that I ever considered RCS? It seems to me that for an individual user who doesn't want the hassle of setting up remote SSH access, RCS is perhaps the better, more portable solution. Any academics out there using either of these systems? One final question: Has anyone tried using RCS and/or CVS with binary files? Any major issues that I should be aware of? 17 Comments
POSTED IN:
If you mainly deal with...Submitted by jason.mcbrayer on November 30, 2006 - 10:50am.
If you mainly deal with single files, not with project directories that may include multiple files, and if you never work collaboratively on a project that might involve more than one person needing to edit the same file at the same time, RCS is probably good enough for you. CVS can handle the addition and deletion of files to/from a project directory, which RCS can't. I don't think CVS has to be remote; I assume you can set up local respositories which you access through the filesystem. I know you can with SVN, the successor to CVS. If you end up deciding that RCS is not enough, don't use CVS, either. CVS uses RCS as its backend, and they're both pretty primitive. There are a lot more advanced version control systems, but they are mostly aimed at distributed development, which you don't care about. However, you may want to consider using SVN. SVN is basically the same as CVS, but it fixes its most egregious problems. It handles renames of files while keeping their change history, which CVS doesn't, and it handles binary files efficiently and safely, which neither RCS nor CVS do. Hope this helps. »
What are CVS and RCS?...Submitted by Chrome47 on November 30, 2006 - 3:15pm.
What are CVS and RCS? »
Subversion (svn) is great; I...Submitted by nalenb on November 30, 2006 - 8:48pm.
Subversion (svn) is great; I use it at home and at work. »
What are CVS and RCS? They...Submitted by jason.mcbrayer on December 1, 2006 - 3:14am.
Chrome47;6931 wrote:
What are CVS and RCS? They are both somewhat old and creaky, but still solid and functional version control systems. You can read about RCS on the nongnu CVS page. CVS is largely superceded by [url=http://subversion.tigris.org/">SVN, but many projects these days prefer to use version control systems that offer even better support for distributed development than SVN. »
Thanks everyone for the advice. After...Submitted by mdl on December 1, 2006 - 6:19am.
Thanks everyone for the advice. After reading a few SVN tutorials, I'm starting to see the advantage of versioning an entire project directory--i.e., being able to resurrect all the files associated with a project at a particular stage. One more question: has anyone worked with Darcs? How does this compare to SVN? »
One more question: has anyone...Submitted by jason.mcbrayer on December 1, 2006 - 1:05pm.
mdl;6941 wrote:
I haven't really used darcs on a project I was involved with, but I have used it to pull sources from a project where I just wanted to track current changes. My impression is that it is more oriented towards distributed development. The only thing about it that might be useful in your situation (relative to SVN), as far as I can tell, is that every working copy is a fully-functional repository, which could be useful to you when you're offline. »
UpdateSubmitted by mdl on December 3, 2006 - 9:05pm.
O.K., I've checked out some of the fancy-pants version control options (e.g., Subversion), and have one additional question: I must admit that SVN looks mighty impressive, but it seems (as far as I can tell) to lack one feature of a version control system that I depend on. As a writer, I need to be able to search all the past versions of a paper for deleted lines. In other words, I want quickly to retrieve information that I wrote down at some point but have since deleted from my draft. Often, I don't remember exactly when I wrote or deleted the info. Maybe it was three months ago. Maybe six months. And I want just this info - NOT entire past versions. Moreover, I want this smaller subset to pop up all at once, without having to slog through a hundred "diff" outputs. With RCS (I can already hear the chortles), I have all my versions of a paper in a nice, neat, accessible, and eminently grep-able file, conveniently located in the same directory as my working file. With one little grep search on the ",v" file, I can bring up every paragraph from past versions of a paper that include the words "Ahab" and "religion" in Moby-Dick. Very quickly, I can find old fragments of draft on a particular subject. Or, using grep, I can quickly examine the way a particular paragraph has changed over the course of several drafts. The version files, in other words, are completely transparent. With SVN (and please, please correct me if I'm wrong!), the repository is more or less opaque - and the only way to find past stuff is by looking at the log and doing exploratory "svn diff" operations on a bunch of past revisions. If there is a way to search the SVN repository for text patterns, please do let me know! I'm probably just missing something. »
If you use the fsfs...Submitted by jason.mcbrayer on December 4, 2006 - 4:30am.
If you use the fsfs backend in svn, rather than the bdb backend, you can grep your repository for the words you're looking for, to find the revision you're interested in. It's not quite as transparent as rcs, but it's close. »
Possibility for 'svn grep' equivalentSubmitted by mwr on December 4, 2006 - 5:43am.
See here. I've not tested it at all, but the
»
I use SVN for this...Submitted by emory on December 4, 2006 - 9:45pm.
I use SVN for this kind of thing exclusively. It allows for darn near any filetype (pdf/txt/doc/rtf/png/jpeg/wtf/omg/bbq, and also happens to be very easily worked with. Plus you can't beat having historical data and comments as well as a worklog. »
About mdl |
|
| EXPLORE 43Folders | THE GOOD STUFF |