chiark / gitweb /
tg info, tg patch: Work on top-base HEAD too
[topgit.git] / tg-import.sh
index cdc0969efdc8bcab2a07b4def8c878a42287b8fc..68477f0de31cf05fd66c7f48fcfee95fa7e31bce 100644 (file)
@@ -24,6 +24,15 @@ while [ -n "$1" ]; do
 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"
@@ -50,12 +59,13 @@ process_commit()
 {
        commit="$1"
        branch_name=$(get_branch_name "$commit")
-       info "Importing $commit to $branch_prefix$branch_name"
+       info "---- Importing $commit to $branch_prefix$branch_name"
        tg create "$branch_prefix""$branch_name"
-       git read-tree "$commit"
+       git read-tree -u -m "$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