From 2ed58be87924acc4aec81407ba93641afe776b35 Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Mon, 31 Oct 2011 15:03:56 +0000 Subject: make --last-working checkout the last working version thanks to Bjoern and Christian for tips. --- g | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/g b/g index 66c1cb2178db..f09caf09258f 100755 --- a/g +++ b/g @@ -242,7 +242,13 @@ for REPO in $DIRS ; do elif [ -d "$DIR" -a "z$LAST_WORKING" != "z" ]; then echo "fetching notes for $REPO ..." (cd $DIR && git fetch origin 'refs/notes/*:refs/notes/*') - # FIXME: we need to grep the git log for a known good note name... + hash=`(cd $DIR && git log --pretty='%H %N' | grep 'win32 working build' | head -n1 | sed 's/ win32.*//')` + if test "z$hash" != "z"; then + echo "update to $hash" + (cd $DIR && git checkout $hash) + else + echo "Warning: missing known working note on repo $REPO" + fi elif [ -d "$DIR" -a "z$SET_LAST_WORKING" != "z" ]; then echo "fetching notes for $REPO ..." (cd $DIR && git fetch origin 'refs/notes/*:refs/notes/*') -- cgit