X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=tg-export.sh;h=654b38bf50805c182f67f189ce4cf5cfecda3fc0;hb=4c8ab25482e6f47878090d87a295eba50d04a564;hp=4ce54cd1e96a903a72781eb90af0e63c9ff831cf;hpb=6d1f60429c7c8a769e4e78a0a5bbc460dea7248a;p=topgit.git diff --git a/tg-export.sh b/tg-export.sh index 4ce54cd..654b38b 100644 --- a/tg-export.sh +++ b/tg-export.sh @@ -18,7 +18,7 @@ while [ -n "$1" ]; do --collapse) driver=collapse;; -*) - echo "Usage: tg export ([--collapse] NEWBRANCH | --quilt DIRECTORY)" >&2 + echo "Usage: tg [...] export ([--collapse] NEWBRANCH | --quilt DIRECTORY)" >&2 exit 1;; *) [ -z "$output" ] || die "output already specified ($output)" @@ -32,7 +32,7 @@ base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" die "not on a TopGit-controlled branch" -playground="$(mktemp -d)" +playground="$(mktemp -d -t tg-export.XXXXXX)" trap 'rm -rf "$playground"' EXIT @@ -122,11 +122,10 @@ collapse() else # First time hitting this dep; the common case + echo "Collapsing $_dep" commit="$(collapsed_commit "$_dep")" - mkdir -p "$playground/$(dirname "$_dep")" echo "$commit" >"$playground/$_dep" - echo "Collapsed $_dep" fi # Propagate our work through the dependency chain @@ -150,10 +149,10 @@ quilt() return fi + echo "Exporting $_dep" mkdir -p "$(dirname "$filename")" - tg patch "$_dep" >"$filename" + $tg patch "$_dep" >"$filename" echo "$_dep.diff -p1" >>"$output/series" - echo "Exported $_dep" } @@ -162,7 +161,7 @@ quilt() if [ "$driver" = "collapse" ]; then [ -n "$output" ] || die "no target branch specified" - ! git rev-parse --verify "$output" >/dev/null 2>&1 || + ! ref_exists "$output" || die "target branch '$output' already exists; first run: git branch -D $output" elif [ "$driver" = "quilt" ]; then @@ -191,7 +190,7 @@ recurse_deps driver "$name" if [ "$driver" = "collapse" ]; then - git update-ref "refs/heads/$output" "$(cat "$playground/$name")" + git update-ref "refs/heads/$output" "$(cat "$playground/$name")" "" depcount="$(cat "$playground/^ticker" | wc -l)" echo "Exported topic branch $name (total $depcount topics) to branch $output"