From: Jay Soffian Date: Fri, 09 Jan 2009 00:22:25 GMT Subject: Re: git-cache-meta -- simple file meta data caching and applying Message-ID: <76718490901081622q618c43d0t333882cbe44f6b30@mail.gmail.com> In-Reply-To: <87hc49jq04.fsf@jidanni.org> On Thu, Jan 8, 2009 at 7:13 PM, wrote: > Gentlemen, I have whipped up this: > > #!/bin/sh -e > #git-cache-meta -- simple file meta data caching and applying. > #Simpler than etckeeper, metastore, setgitperms, etc. > : ${GIT_CACHE_META_FILE=.git_cache_meta} > case $@ in > --store|--stdout) > case $1 in --store) exec > $GIT_CACHE_META_FILE; esac > find $(git ls-files) \ > \( -user ${USER?} -o -printf 'chowm %u %p\n' \) \ > \( -group $USER -o -printf 'chgrp %g %p\n' \) \ > \( \( -type l -o -perm 755 -o -perm 644 \) -o -printf 'chmod %#m %p\n' \);; > --apply) sh -e $GIT_CACHE_META_FILE;; > *) 1>&2 echo "Usage: $0 --store|--stdout|--apply"; exit 1;; > esac It doesn't handle paths which contain white-space. "chown" is typo'd as "chowm". To be useful, the contribution might also include instructions on how it should be used with git, and perhaps also reasoning for why someone would want to use it in place of etckeeper, metastore, setgitperms, etc. j.