Subject: Re: Using a git repository on the root directory

From: Gabriel Filion <[email-masked]>
Date: Sat, 17 Apr 2010 00:17:17 -0400

On 2010-04-16 16:44, Miguel Ramos wrote:
> Hi,
> 
> Is it possible with git to use a git repository on the root directory?
> I'm trying to replace subversion doing this.
> I used this method before to get my home directory versioned with
> success, so far.
> 

Although I'll give comments on the rest, is it really relvant to put all
of the filesystem into a version control system? From a system
administrator's point of view, backing up is more about keeping copies
of what's important in the computer than about versioning every tiny
change in the file system.

One example of something that is weird to backup is /var . It contains
data that will almost certainly always change.

A simpler thing to do if you'd like to be able to reinstall a computer
real quick would be to make an image of the computer (call it a ghost, a
dd of all the disk or whatever) and to establish a backup only for the
sensible data (say, for an LDAP server, you would backup ldap's ldiff
files and configuration). Then, restoring from a crash would just mean
to reinstall with the image of the disk and to restore the latest backup.

> When I'm on the root directory, things seem to work minimally. I do
> git status, etc, and get the expected results.
> However, if I change say to /etc, or any other directory, for that
> matter, then git status tells me that every file in the repository is
> deleted.
> Adding files doesn't work, nothing works at all.
> 

This sounds like an issue with finding the actual .git directory when
you are in /etc. is this directory under a different partition than / ?

> I have a populated repository elsewhere, I can clone this to an empty
> directory and then move .git to / to work around the demand that the
> target directory is empty and at the same time avoid overwriting
> files.

so, you're cloning to some temp dir, then moving temp/.git to / and then
using something like git checkout HEAD some/file/somewhere ?

> I know this is an unforeseen use of git, however, unforeseen might not
> imply forbidden.
> I'm pretty disappointed I couldn't get it working.
> 
> So the motivation for this posting is twofold:
> - Is this possible in some other way, or did I do something wrong (I'm
> new to git) ?

Check out the bup project[1], it uses the packfile format from git to
compress data but its focus is more on keeping versions of arbitrary
data rather than code files. it's still very new and lacks some
important features but it sure is promising.

[1] : http://github.com/apenwarr/bup

-- 
Gabriel Filion