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
a 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 past
repo looks like this:
|
|
Which is far nicer to look at that the 50 line thing write-gitignore
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
below it.
Next up in making vcsh more useful is to sync ~/Maildir
in a mail
vcsh repo. I’ll write about that after some experience with it.