metastore (was: Track /etc directory using Git)
- From
- martin f krafft <madduck@madduck.net>
- Date
- Sep 15, 2007, 13:26 UTC
- Message-ID
- <20070915132632.GA31610@piper.oerlikon.madduck.net>
- In-Reply-To
- <20070914212643.GA10970@amy.inscure.wireless.home.vilz.de>
also sprach Thomas Harning Jr. <harningt@gmail.com> [2007.09.14.1931 +0200]:
Show 6 quoted lines
> > No, and I did not look anywhere, but I know of no other VCS that can > > adequatly track permissions. > Has anyone checked out metastore? http://repo.or.cz/w/metastore.git > ... there's an XML error in there somewhere, so its not loading the > 'main' page, but http://repo.or.cz/w/metastore.git?a=shortlog should > work.
This looks interesting, though I guess getfacl/setfacl and getfattr/setfattr can pretty much do the same job, especially if you can call them from shell scripts/hooks (except for mtime). Or did I misunderstand something?
The problem with metdata getting corrupted, which Nicolas reported, may well have to do with the use of a single file. It may be worth to consider using a shadow hierarchy of files, each containing the metadata, e.g. for a project with foo, and bar/foo and bar/baz files, you might have
.metastore/foo .metastore/bar/.<uniqueid>.dir .metastore/bar/foo .metastore/bar/baz
and each file could just be an rfc822-style file:
Owner: root Group: root Mode: 4754 Mtime: 1234567890 Fattr-<key1>: <value1> Fattr-<key2>: <value2>
This would be my approach, which should probably be a little better at preventing corruption.
Anyway, this *really* should go into git itself!
--
martin; (greetings from the heart of the sun.)
\____ echo mailto: !#^."<*>"|tr "<*> mailto:" net@madduck
"i like wagner's music better than anybody's. it is so loud that one
can talk the whole time without other people hearing what one says."
-- oscar wilde
spamtraps: madduck.bogus@madduck.net