Subject: Re: Metadata and checkin file date

From: Gerhard Wiesinger <[email-masked]>
Date: Tue, 27 Apr 2010 21:41:56 +0200 (CEST)

On Tue, 27 Apr 2010, Jakub Narebski wrote:

> Gerhard Wiesinger <[email-masked]> writes:
>
>> Hello,
>>
>> I'm new to git and I'm looking for the following features:
>> 1.) Metadata for
>>    a.) directory versioning (e.g. add/rm, mv)
>>    b.) rights (basic: chmod, chow, chgrp, extended: extended
>> attributes like ACLs and selinux), necessary for versioning e.g. /etc
>> 2.) Original file dates (checkin date) on clone and pull (and not
>> checkout date)
>>
>> Is this possible? Any plans if missing?
>
> Git is distributed version control system (DVCS), not a backup system.
> It is used mainly for distributed development of programs.  Therefore
> it supports natively only those parts of metadata that make sense for
> VCS, namely symlinks (with workaround for filesystems that do not have
> support for symbolic links) and the executable permission for files.
>
> File ownership does not make sense for VCS, as other people that clone
> your repository do not have the same set of users that you have, and
> might not have the same set of groups that you have.  Neverthemind that
> their filesystem might not support notion of file ownership, not only
> do not have support for extended attributes and the like.

I would suggest that only with special switches like --preserve-chmod 
--preserver-owner --preserve-group , etc. where one can guarantee user, 
groups, etc. See also my second post for arguments.

> If you really, really need this, you can use additional tools to
> preserve metadata, like Metastore or git-cache-meta, or even ready
> tools that use Git as bckend like IsiSetup or bup (well, bup use
> git package format, not git itself...), see this Git Wiki page:
> https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools
>

Will have a look at them.

Thnx.

Ciao,
Gerhard

--
http://www.wiesinger.com/