exists=false
for d in $repos; do
enter "$d0/$d" verbose
- if git rev-parse "refs/heads/$branch" >/dev/null 2>&1; then
+ if [ -z "$branch" ]; then
+ b=`repobranch "$d"`
+ else
+ b=$branch
+ fi
+ if git rev-parse "refs/heads/$b" >/dev/null 2>&1; then
exists=true
- verbose git checkout "$branch"
- elif git rev-parse "refs/remotes/$remote/$branch" >/dev/null 2>&1; then
+ verbose git checkout "$b"
+ elif git rev-parse "refs/remotes/$remote/$b" >/dev/null 2>&1; then
exists=true
- verbose git checkout --track -b "$branch" "$remote/$branch"
+ verbose git checkout --track -b "$b" "$remote/$b"
else
verbose git checkout "`repobranch "$d"`"
fi
if [ -n "$note" ]; then
reportdo4 echo "$note"
reportecho4 "--> not merging, already had this one rejected before"
- elif yesno "Branch \"$ref\" may want to get merged. Do it?" '{ git log HEAD.."$ref"; git diff HEAD..."$ref"; } | less'; then
+ elif yesno "Branch \"$ref\" may want to get merged. Do it?" '{ git log HEAD.."$ref"; git diff --color-words --find-copies-harder --ignore-space-change HEAD..."$ref"; } | less'; then
git checkout master
org=`git rev-parse HEAD`
if ! git merge "$ref" 2>&1 | tee "$t"; then