From fc00291a3cabd0fc24767a221a9231f27c1a3e97 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Mon, 6 Sep 2010 09:11:34 +0200 Subject: [PATCH] skip expensive hash-object calls where not needed --- all | 1 + misc/tools/cached-converter.sh | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/all b/all index b48fe356..29e8a65c 100755 --- a/all +++ b/all @@ -1177,6 +1177,7 @@ case "$cmd" in fi done fi + verbose export git_src_repo="$d0/$src" # skip hash-object verbose "$SELF" release-buildpk3-transform-$transform "Xonotic/temp" verbose zip -9yr "../../$dst" . verbose cd ../.. diff --git a/misc/tools/cached-converter.sh b/misc/tools/cached-converter.sh index 36126588..0eab3d69 100755 --- a/misc/tools/cached-converter.sh +++ b/misc/tools/cached-converter.sh @@ -12,6 +12,7 @@ set -e : ${do_ogg:=false} : ${ogg_qual:=1} : ${del_src:=false} +: ${git_src_repo:=} me=$0 case "$me" in @@ -47,9 +48,16 @@ cached() if [ x"$infile1/../$infile2" = x"$lastinfiles" ]; then sum=$lastinfileshash else - sum=`git hash-object "$infile1"` - if [ -n "$infile2" ]; then - sum=$sum`git hash-object "$infile2"` + if [ -n "$git_src_repo" ]; then + sum=`( cd "$git_src_repo"; git rev-parse HEAD:"$infile1" )` + if [ -n "$infile2" ]; then + sum=`( cd "$git_src_repo"; git rev-parse HEAD:"$infile2" )` + fi + else + sum=`git hash-object "$infile1"` + if [ -n "$infile2" ]; then + sum=$sum`git hash-object "$infile2"` + fi fi lastinfileshash=$sum fi -- 2.39.2