Assume -f.
[nethome.git] / bin / dashtopatch
1 #! /bin/sh
2 set -ex
3 if [ $# != 1 ] || ! echo "$1" | grep -q '-';then
4   echo >&2 "Syntax: $0 branch-list-delimited-by-dashes"
5   exit 1
6 fi
7 base="master"
8 for elem in $(echo "$1"|tr '-' ' ');do
9   if [ "$base" = "master" ];then
10     next="$elem"
11   else
12     next="$base-$elem"
13   fi
14   git checkout "$next"
15   git merge "$base"
16   if [ -e "$next".patch ];then
17     echo -e '/^--- /,$d\nw'|ed "$next".patch
18   fi
19   git diff "$base" "$next"|diffdecvs >>"$next".patch
20   base="$next"
21 done
22 echo OK