[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: keeping one's personal dotfiles under CVS
From: |
Glew, Andy |
Subject: |
RE: keeping one's personal dotfiles under CVS |
Date: |
Mon, 13 May 2002 10:31:36 -0700 |
> I was wondering what strategies do CVS gurus use to manage their
> personal collection of dotfiles. We all a favorite .vimrc, .exrc,
> .muttrc, ~/.w3m/bookmarks.html, etc. The problem is keeping
> them in sync
> on all the machines we use. CVS seems like a nice tool for that.
>
> How would you go about keeping a repository of personal dotfiles?
I do exactly this: part of my CVS repository is a module
"glew-home", that contains my dot files, plus lots of other
things that I try to keep standard on multiple systems.
There are only a few queernesses in doing this:
(a) the usual oddities about importing.
when I first started doing this, I imported my diverged files
on different vendor branches, and took a while to merge
them into a coherent system. Whenever possible, of course,
I try to use exactly the same files on multiple systems,
but that doesn't always work - some stupid dot file formats
don't have ifs, so then I typically diverge at first, and later
create a meta file format.
(b) checking out the CVS archived glew-home directory
on a system that is "fresh"
I nearly always find that I need to do:
cd ~glew
cvs co glew-home
cd glew-home
find . -name CVS -print | xargs -n1 mv {} ../{}
cd ..
rm -f glew-home
i.e. I need to check the archive out in a parallel tree,
and then move all the CVS directories into the main tree.
Then, in the main tree, I can do cvs update,
verify any diffed files, and so on.
I.e. the above is really a substitute for importing.
I find it easier than importaing.
(c) By the way, often on a newly created account
there will be default DOT files. I find it
immensely helpful to archive these - either as
a separate vendor branch, or by creating a special
"original-dot-files" directory.
Anyway, I have ben doing this for around 5 years now,
and am pretty happy.
====
By the way, the people who say "just rsync your dot files"
are missing the point. I'm tempted to say, are brain damaged,
but I've sworn off flaming such shortsightedness.
(1) CVS allows you to share dot files between different systems.
E.g. my .emacs file is shared between Windoze and many
UNIXes, as is my .bashrc, while other dot files are actually
*BAD* to have on some systems.
Do this with a combination of internal ifdeffing,
branches for different systems,
modules,
and "install" scripts (I highly deprecate the latter).
(2) version control matters for dot files.
Often I have to go back to an old system on which my
current dot files do not work.
Having old dot files under CVS helps.
(3) I'd be even happier if I could use BitKeeper,
or something that supported disconnected repositories.
I want to check in changes to dot files on my laptop
on a plane when disconnected (like right now).
(4) CVS gives you more freedom about updating than
rsync does. Again, sometimes you don't *want* to
update, because the systems need to diverge.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RE: keeping one's personal dotfiles under CVS,
Glew, Andy <=