and prefixed by t/ by default; use '-p PREFIX' to specify
an alternative prefix (even an empty one).
+ Alternatively, you can use the '-s NAME' parameter to specify
+ the name of target branch; the command will then take one more
+ argument describing a single commit to import.
+
tg update
~~~~~~~~~
Update the current topic branch wrt. changes in the branches
# GPLv2
branch_prefix=t/
+single=
ranges=
case "$arg" in
-p)
branch_prefix="$1"; shift;;
+ -s)
+ single="$1"; shift;;
-*)
- echo "Usage: tg [...] import [-p PREFIX] RANGE..." >&2
+ echo "Usage: tg [...] import {[-p PREFIX] RANGE...|-s NAME COMMIT}" >&2
exit 1;;
*)
ranges="$ranges $arg";;
process_commit()
{
commit="$1"
- branch_name=$(get_branch_name "$commit")
- info "---- Importing $commit to $branch_prefix$branch_name"
- tg create "$branch_prefix""$branch_name"
+ branch_name="$2"
+ info "---- Importing $commit to $branch_name"
+ tg create "$branch_name"
git cherry-pick --no-commit "$commit"
get_commit_msg "$commit" > .topmsg
git add -f .topmsg .topdeps
info "++++ Importing $commit finished"
}
+if [ -n "$single" ]; then
+ process_commit "$ranges" "$single"
+ exit
+fi
+
# nice arg verification stolen from git-format-patch.sh
for revpair in $ranges
do
info "Merged already: $comment"
;;
*)
- process_commit "$rev"
+ process_commit "$rev" "$branch_prefix$(get_branch_name "$rev")"
;;
esac
done