I’ve been using vcsh for a few months
now and am very happy with it.
Currently I’m using two repos - a
home repo which is really just a
continuation of my old mercurial (previously subversion) home dir; and
past repo which is where all my history files are stored.
One issue I had was that while
vcsh st worked fine,
vcsh home st
really didn’t - showing me all the files that weren’t tracked by git.
I’d seen that vcsh had a
write-gitignore command but hadn’t looked
into it a lot.
This morning before heading into work I finally did. I had been turned
off because what it did was dump
* followed by a line for each tracked
file negating that frst line:
!/tracked/file. This was rather ugly but
this morning I very belatedly realised that I could edit it and I could
commit it. So now the ignore file (
.gitignore.d/past) for the
repo looks like this:
Which is far nicer to look at that the 50 line thing
first managed. It’s a useful command to generate a staring point;
horrible thereafter. There are a few tricks to note.
First, git doesn’t track directories, but you’ll need to put each dir
into the ignore file. Say you wanted to track all files in
~/foo/bar/kitten you’d need the following entries:
Second, you need that last line with the
** to track all files/dirs
Next up in making vcsh more useful is to sync
~/Maildir in a
vcsh repo. I’ll write about that after some experience with it.