# (c) Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> 2008
# GPLv2
+branch_prefix=t/
ranges=
while [ -n "$1" ]; do
arg="$1"; shift
case "$arg" in
+ -p)
+ branch_prefix="$1"; shift;;
-*)
- echo "Usage: tg [...] import RANGE..." >&2
+ echo "Usage: tg [...] import [-p PREFIX] RANGE..." >&2
exit 1;;
*)
ranges="$ranges $arg";;
done
+## Make sure our tree is clean
+
+git update-index --ignore-submodules --refresh || exit
+[ -z "$(git diff-index --cached --name-status -r --ignore-submodules HEAD --)" ] ||
+ die "the index is not clean"
+
+
+## Perform import
+
get_commit_msg()
{
commit="$1"
{
commit="$1"
branch_name=$(get_branch_name "$commit")
- echo "Importing $commit to $branch_name"
- tg create t/"$branch_name"
- git read-tree "$commit"
+ info "---- Importing $commit to $branch_prefix$branch_name"
+ tg create "$branch_prefix""$branch_name"
+ git cherry-pick --no-commit "$commit"
get_commit_msg "$commit" > .topmsg
git add -f .topmsg .topdeps
git commit -C "$commit"
+ info "++++ Importing $commit finished"
}
# nice arg verification stolen from git-format-patch.sh