From: Stephen Rothwell Date: Mon, 9 Jun 2008 13:22:22 +0000 (+1000) Subject: make sure we always have a commit to give to update-ref X-Git-Url: http://git.ozlabs.org/?a=commitdiff_plain;h=f5c0f53caf675eb57da3647dad4d16bb9c82beb3;p=next-scripts make sure we always have a commit to give to update-ref we now always create series.orig and put it back later fix typo in sed expression --- diff --git a/update_trees b/update_trees index 7e5525c..618df5e 100755 --- a/update_trees +++ b/update_trees @@ -38,12 +38,12 @@ for name in $quilters; do ;; esac log "Importing $name based on $base" - git rev-list -n 1 "$rbase" -- >/dev/null 2>&1 || { + rbase_sha1=$(git rev-parse --verify "$rbase^{commit}") || { log "Unknown BASE" continue } - grep -q NEXT_PATCHES "$sfile" && { - mv -f "$sfile" "$sfile.orig" + mv -f "$sfile" "$sfile.orig" + if grep -q NEXT_PATCHES "$sfile.orig"; then do_echo=: while read line; do case $line in @@ -54,23 +54,26 @@ for name in $quilters; do esac $do_echo $line done <"$sfile.orig" >"$sfile" - } + else + cp "$sfile.orig" "$sfile" + fi git show-ref --quiet --verify "refs/heads/quilt/$name" || - execute git branch "quilt/$name" "$rbase" + execute git branch "quilt/$name" "$rbase_sha1" mv -f "$sfile" "$sfile.tmp" - sed -e '/^[ ]*$/d' -e '^[ ]*#/d' <"$sfile.tmp" >"$sfile" + sed -e '/^[ ]*$/d' -e '/^[ ]*#/d' <"$sfile.tmp" >"$sfile" rm -f "$sfile.tmp" [ -s "$sfile" ] || { log " quilt series is empty" [ -f "$sfile.orig" ] && mv -f "$sfile.orig" "$sfile" + execute git update-ref "refs/heads/quilt/$name" "$rbase_sha1" continue } execute git checkout "quilt/$name" - execute git reset --hard "$rbase" + execute git reset --hard "$rbase_sha1" author=$(grep -v '^#' ../real_control | awk -F ' ' '$3=="'"$name"'" { printf("%s", $1); }' | sed 's/,.*$//') execute git quiltimport --author "$author" --patches "../quilt/$name"