Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
added -m/--message option for setting merge commit message
author
Jakub Suder
<jakub.suder@gmail.com>
Sat, 9 Jan 2010 18:55:35 +0000
(19:55 +0100)
committer
Jakub Suder
<jakub.suder@gmail.com>
Sun, 10 Jan 2010 12:09:23 +0000
(13:09 +0100)
git-subtree.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
6da4013
)
diff --git
a/git-subtree.sh
b/git-subtree.sh
index 28fb8e81fb80349a17763a819666308ebc0a589e..96118735b2c9da6867579dd19ae314add87f8b6d 100755
(executable)
--- a/
git-subtree.sh
+++ b/
git-subtree.sh
@@
-17,6
+17,7
@@
h,help show the help
q quiet
d show debug messages
p,prefix= the name of the subdir to split out
q quiet
d show debug messages
p,prefix= the name of the subdir to split out
+m,message= use the given message as the commit message for the merge commit
options for 'split'
annotate= add a prefix to commit message of new commits
b,branch= create a new branch from the split subtree
options for 'split'
annotate= add a prefix to commit message of new commits
b,branch= create a new branch from the split subtree
@@
-40,6
+41,7
@@
rejoin=
ignore_joins=
annotate=
squash=
ignore_joins=
annotate=
squash=
+message=
debug()
{
debug()
{
@@
-77,6
+79,7
@@
while [ $# -gt 0 ]; do
--no-annotate) annotate= ;;
-b) branch="$1"; shift ;;
-p) prefix="$1"; shift ;;
--no-annotate) annotate= ;;
-b) branch="$1"; shift ;;
-p) prefix="$1"; shift ;;
+ -m) message="$1"; shift ;;
--no-prefix) prefix= ;;
--onto) onto="$1"; shift ;;
--no-onto) onto= ;;
--no-prefix) prefix= ;;
--onto) onto="$1"; shift ;;
--no-onto) onto= ;;
@@
-266,8
+269,13
@@
add_msg()
dir="$1"
latest_old="$2"
latest_new="$3"
dir="$1"
latest_old="$2"
latest_new="$3"
+ if [ -n "$message" ]; then
+ commit_message="$message"
+ else
+ commit_message="Add '$dir/' from commit '$latest_new'"
+ fi
cat <<-EOF
cat <<-EOF
- Add '$dir/' from commit '$latest_new'
+ $commit_message
git-subtree-dir: $dir
git-subtree-mainline: $latest_old
git-subtree-dir: $dir
git-subtree-mainline: $latest_old
@@
-275,13
+283,27
@@
add_msg()
EOF
}
EOF
}
+add_squashed_msg()
+{
+ if [ -n "$message" ]; then
+ echo "$message"
+ else
+ echo "Merge commit '$1' as '$2'"
+ fi
+}
+
rejoin_msg()
{
dir="$1"
latest_old="$2"
latest_new="$3"
rejoin_msg()
{
dir="$1"
latest_old="$2"
latest_new="$3"
+ if [ -n "$message" ]; then
+ commit_message="$message"
+ else
+ commit_message="Split '$dir/' into commit '$latest_new'"
+ fi
cat <<-EOF
cat <<-EOF
- Split '$dir/' into commit '$latest_new'
+ $message
git-subtree-dir: $dir
git-subtree-mainline: $latest_old
git-subtree-dir: $dir
git-subtree-mainline: $latest_old
@@
-441,7
+463,7
@@
cmd_add()
if [ -n "$squash" ]; then
rev=$(new_squash_commit "" "" "$rev") || exit $?
if [ -n "$squash" ]; then
rev=$(new_squash_commit "" "" "$rev") || exit $?
- commit=$(
echo "Merge commit '$rev' as '$dir'
" |
+ commit=$(
add_squashed_msg "$rev" "$dir
" |
git commit-tree $tree $headp -p "$rev") || exit $?
else
commit=$(add_msg "$dir" "$headrev" "$rev" |
git commit-tree $tree $headp -p "$rev") || exit $?
else
commit=$(add_msg "$dir" "$headrev" "$rev" |
@@
-561,7
+583,7
@@
cmd_merge()
rev="$new"
fi
rev="$new"
fi
- git merge -s subtree $rev
+ git merge -s subtree
--message="$message"
$rev
}
cmd_pull()
}
cmd_pull()