@matheusbsbs / matheus-bagliano / commits / 2da0969a79
Fork 0

added -m/--message option for setting merge commit message

Jakub Suder committed Jan 9, 2010 at 19:55 UTC 2da0969a794eac50401fd25ea072224d4378a5fe
1 file changed +26 -4
git-subtree.sh
+26 -4
@@ -17,6 +17,7 @@ h,help show the help
17 q quiet
18 d show debug messages
19 p,prefix= the name of the subdir to split out
20 +m,message= use the given message as the commit message for the merge commit
21 options for 'split'
22 annotate= add a prefix to commit message of new commits
23 b,branch= create a new branch from the split subtree
@@ -40,6 +41,7 @@ rejoin=
41 ignore_joins=
42 annotate=
43 squash=
44 +message=
45
46 debug()
47 {
@@ -77,6 +79,7 @@ while [ $# -gt 0 ]; do
79 --no-annotate) annotate= ;;
80 -b) branch="$1"; shift ;;
81 -p) prefix="$1"; shift ;;
82 + -m) message="$1"; shift ;;
83 --no-prefix) prefix= ;;
84 --onto) onto="$1"; shift ;;
85 --no-onto) onto= ;;
@@ -266,8 +269,13 @@ add_msg()
269 dir="$1"
270 latest_old="$2"
271 latest_new="$3"
272 + if [ -n "$message" ]; then
273 + commit_message="$message"
274 + else
275 + commit_message="Add '$dir/' from commit '$latest_new'"
276 + fi
277 cat <<-EOF
270 - Add '$dir/' from commit '$latest_new'
278 + $commit_message
279
280 git-subtree-dir: $dir
281 git-subtree-mainline: $latest_old
@@ -275,13 +283,27 @@ add_msg()
283 EOF
284 }
285
286 +add_squashed_msg()
287 +{
288 + if [ -n "$message" ]; then
289 + echo "$message"
290 + else
291 + echo "Merge commit '$1' as '$2'"
292 + fi
293 +}
294 +
295 rejoin_msg()
296 {
297 dir="$1"
298 latest_old="$2"
299 latest_new="$3"
300 + if [ -n "$message" ]; then
301 + commit_message="$message"
302 + else
303 + commit_message="Split '$dir/' into commit '$latest_new'"
304 + fi
305 cat <<-EOF
284 - Split '$dir/' into commit '$latest_new'
306 + $message
307
308 git-subtree-dir: $dir
309 git-subtree-mainline: $latest_old
@@ -441,7 +463,7 @@ cmd_add()
463
464 if [ -n "$squash" ]; then
465 rev=$(new_squash_commit "" "" "$rev") || exit $?
444 - commit=$(echo "Merge commit '$rev' as '$dir'" |
466 + commit=$(add_squashed_msg "$rev" "$dir" |
467 git commit-tree $tree $headp -p "$rev") || exit $?
468 else
469 commit=$(add_msg "$dir" "$headrev" "$rev" |
@@ -561,7 +583,7 @@ cmd_merge()
583 rev="$new"
584 fi
585
564 - git merge -s subtree $rev
586 + git merge -s subtree --message="$message" $rev
587 }
588
589 cmd_pull()