Re: git-cache-meta -- simple file meta data caching and applying
- From
jidanni@jidanni.org <jidanni@jidanni.org>
- Date
- Jan 9, 2009, 02:50 UTC
- Message-ID
- <878wpljiq9.fsf@jidanni.org>
- In-Reply-To
- <76718490901081628x62da43bcia5cdbb160b0ff24a@mail.gmail.com>
Fixed. Manly the program aims to be tiny. Perhaps I should include a full example of using it with git-bundle.
#!/bin/sh -e
#git-cache-meta -- file meta data caching for possible use with
#git-bundle, git-fast-export, git-archive, hooks, as a simple
#alternative to etckeeper, metastore, setgitperms. Requires GNU Find.
: ${GIT_CACHE_META_FILE=.git_cache_meta}
case $@ in
--store|--stdout)
case $1 in --store) exec > $GIT_CACHE_META_FILE; esac
git ls-files|xargs -I{} find {} \
\( -user ${USER?} -o -printf 'chown %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