From: jidanni@jidanni.org Date: Sat, 10 Jan 2009 17:43:29 GMT Subject: [PATCH] git-cache-meta -- file owner and permissions caching, minimalist approach Message-ID: <87eizb12gu.fsf_-_@jidanni.org> In-Reply-To: <200901082229.46433.bss@iguanasuicide.net> Signed-off-by: jidanni --- contrib/metadata/git-cache-meta | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) create mode 100755 contrib/metadata/git-cache-meta diff --git a/contrib/metadata/git-cache-meta b/contrib/metadata/git-cache-meta new file mode 100755 index 0000000..5e1b740 --- /dev/null +++ b/contrib/metadata/git-cache-meta @@ -0,0 +1,19 @@ +#!/bin/sh -e +# git-cache-meta -- file owner and permissions caching, minimalist approach +: ${GIT_CACHE_META_FILE=.git_cache_meta} #simpler not to git-add it +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" \);;#requires GNU Find + --apply) sh -e $GIT_CACHE_META_FILE;; + *) 1>&2 cat <