tj.git-extras/bin/git-merge-repo
2015-04-19 12:23:02 -04:00

26 lines
380 B
Bash
Executable file

#!/usr/bin/env bash
repo=$1
branch=$2
prefix=$3
flat=0
if test $prefix = "."; then
prefix=$(mktemp -u 'git-merge-repo.XXXXXXX')
flat=1
fi
git subtree add -P "$prefix" "$repo" "$branch" "${@:4}"
message=$(git log -1 --pretty=%B)
if test $flat -eq 1; then
git stash -u
mv -i $prefix/* ./
git undo
git add .
git commit -am "$message"
git stash apply
rm -drf $prefix
fi