summaryrefslogtreecommitdiff
path: root/git-subtree.sh
diff options
context:
space:
mode:
authorLibravatar Pelle Wessman <pelle@kodfabrik.se>2010-05-07 21:21:25 +0200
committerLibravatar Avery Pennarun <apenwarr@gmail.com>2010-05-07 15:59:56 -0400
commit448e71e2637e0d7546fb0a2b386e74bc7aa93be8 (patch)
treee21402bf298cd2a9084fdbe52c78150595bc6f2c /git-subtree.sh
parentAdded new 'push' command and 2-parameter form of 'add'. (diff)
downloadtgif-448e71e2637e0d7546fb0a2b386e74bc7aa93be8.tar.xz
Use 'git merge -Xsubtree' when git version >= 1.7.0.
It's possible to specify the subdir of a subtree since Git 1.7.0 - adding support for that functionality to make the merge more stable. Also checking for git version - now only uses the new subtree subdir option when on at least 1.7.
Diffstat (limited to 'git-subtree.sh')
-rwxr-xr-xgit-subtree.sh17
1 files changed, 13 insertions, 4 deletions
diff --git a/git-subtree.sh b/git-subtree.sh
index 501c6dc2f1..b7c350107e 100755
--- a/git-subtree.sh
+++ b/git-subtree.sh
@@ -634,11 +634,20 @@ cmd_merge()
debug "New squash commit: $new"
rev="$new"
fi
-
- if [ -n "$message" ]; then
- git merge -s subtree --message="$message" $rev
+
+ version=$(git version)
+ if [ "$version" \< "git version 1.7" ]; then
+ if [ -n "$message" ]; then
+ git merge -s subtree --message="$message" $rev
+ else
+ git merge -s subtree $rev
+ fi
else
- git merge -s subtree $rev
+ if [ -n "$message" ]; then
+ git merge -Xsubtree="$prefix" --message="$message" $rev
+ else
+ git merge -Xsubtree="$prefix" $rev
+ fi
fi
}