chiark
/
gitweb
/
~ian
/
topgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[TOPGIT] allow working with annihilated branches
[topgit.git]
/
tg-export.sh
diff --git
a/tg-export.sh
b/tg-export.sh
index b367aaffcdf43630a6a9bb016c3818909b9f213e..9e6940fcff23fc1a6bbd5ded2b9a7bf037ece54c 100644
(file)
--- a/
tg-export.sh
+++ b/
tg-export.sh
@@
-8,6
+8,7
@@
branches=
output=
driver=collapse
flatten=false
output=
driver=collapse
flatten=false
+numbered=false
## Parse options
## Parse options
@@
-19,6
+20,9
@@
while [ -n "$1" ]; do
branches="$1"; shift;;
--flatten)
flatten=true;;
branches="$1"; shift;;
--flatten)
flatten=true;;
+ --numbered)
+ flatten=true;
+ numbered=true;;
--quilt)
driver=quilt;;
--collapse)
--quilt)
driver=quilt;;
--collapse)
@@
-37,6
+41,9
@@
done
[ -z "$branches" -o "$driver" = "quilt" ] ||
die "-b works only with the quilt driver"
[ -z "$branches" -o "$driver" = "quilt" ] ||
die "-b works only with the quilt driver"
+[ "$driver" = "quilt" ] || ! "$numbered" ||
+ die "--numbered works only with the quilt driver";
+
[ "$driver" = "quilt" ] || ! "$flatten" ||
die "--flatten works only with the quilt driver"
[ "$driver" = "quilt" ] || ! "$flatten" ||
die "--flatten works only with the quilt driver"
@@
-155,18
+162,26
@@
quilt()
fi;
fi;
fi;
fi;
- filename="$output/$dn$bn";
- if [ -e "$filename" ]; then
+ if [ -e "$playground/$_dep" ]; then
# We've already seen this dep
return
fi
# We've already seen this dep
return
fi
+ mkdir -p "$playground/$(dirname "$_dep")";
+ touch "$playground/$_dep";
+
if branch_empty "$_dep"; then
echo "Skip empty patch $_dep";
else
if branch_empty "$_dep"; then
echo "Skip empty patch $_dep";
else
+ if "$numbered"; then
+ number="$(printf "%04u" $(($(cat "$playground/^number" 2>/dev/null) + 1)))";
+ bn="$number-$bn";
+ echo "$number" >"$playground/^number";
+ fi;
+
echo "Exporting $_dep"
mkdir -p "$output/$dn";
echo "Exporting $_dep"
mkdir -p "$output/$dn";
- $tg patch "$_dep" >"$
filename
"
+ $tg patch "$_dep" >"$
output/$dn$bn
"
echo "$dn$bn -p1" >>"$output/series"
fi
}
echo "$dn$bn -p1" >>"$output/series"
fi
}