threads / discuss / 5407

File archiver using git

Subject: File archiver using git

## tl;dr

4 messages between Aug 27, 2006 and Aug 28, 2006.

replies: 3people: 3as markdown or json

Matt McCutchen· Aug 27, 2006, 13:10 UTC · lore
Dear git people,

You might like the two attached scripts that I wrote around git to pack file trees containing lots of redundancy into very small packages. For example, if I have ten slightly different versions of a piece of software because I didn't use version control, I can use gitar to compress them together.

Matt
Grzegorz Kulewski· Aug 27, 2006, 13:31 UTC · re: Matt McCutchen · lore

Re: File archiver using git

On Sun, 27 Aug 2006, Matt McCutchen wrote:
Show 7 quoted lines
> Dear git people,
>
> You might like the two attached scripts that I wrote around git to
> pack file trees containing lots of redundancy into very small
> packages.  For example, if I have ten slightly different versions of a
> piece of software because I didn't use version control, I can use
> gitar to compress them together.

Does it (and GIT in general) work ok with file permisions, ownership, soft and hard links, named sockets, device files and similar "strange" filesystem objects? Do I need any options to GIT to make it work with them?

Can I for example securely backup or even version-control /etc directory?
Grzegorz Kulewski
Jakub Narebski· Aug 27, 2006, 15:34 UTC · re: Grzegorz Kulewski · lore

Re: File archiver using git

Grzegorz Kulewski wrote:
Show 13 quoted lines
> On Sun, 27 Aug 2006, Matt McCutchen wrote:
>> Dear git people,
>>
>> You might like the two attached scripts that I wrote around git to
>> pack file trees containing lots of redundancy into very small
>> packages.  For example, if I have ten slightly different versions of a
>> piece of software because I didn't use version control, I can use
>> gitar to compress them together.
> 
> Does it (and GIT in general) work ok with file permisions, ownership, soft 
> and hard links, named sockets, device files and similar "strange" 
> filesystem objects? Do I need any options to GIT to make it work with 
> them?

Git in general only preserves executable bit, deals with symlinks, hardlinks after a fashion (stored once, but unpacked/checked out as separate files, not hardlinked), and does not deal with other "strange" filesystem objects as far as I know.

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
Matt McCutchen· Aug 28, 2006, 00:40 UTC · re: Grzegorz Kulewski · lore

Re: File archiver using git

On 8/27/06, Grzegorz Kulewski <kangur@polcom.net> wrote:
> Does it (and GIT in general) work ok with file permisions, ownership, soft
> and hard links, named sockets, device files and similar "strange"
> filesystem objects? Do I need any options to GIT to make it work with
> them?

Git tracks data, not filesystems. That means it doesn't handle any of the things you mentioned except soft links. It doesn't even handle empty directories, though I don't accept the argument that they do not constitute data. If you want to capture a filesystem, I would recommend running "find . -ls" to create a listing file from which everything you mentioned can be reconstructed and then putting the filesystem together with the listing file into git.

> Can I for example securely backup or even version-control /etc directory?

With the above technique, you can do both. However, if you just want to back up /etc, you might be better served by a backup tool. For example, I use rsnapshot ( http://www.rsnapshot.org/ ).

Matt

← back to recent threads