chiark
/
gitweb
/
~ian
/
topgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tg import: fix + make more robust
[topgit.git]
/
tg-import.sh
diff --git
a/tg-import.sh
b/tg-import.sh
index cbab7387620863e3f7ab81ff6e3fb770da003435..799efc9a8395228604e1ccf94cc66a0c36144ec9 100644
(file)
--- a/
tg-import.sh
+++ b/
tg-import.sh
@@
-24,6
+24,15
@@
while [ -n "$1" ]; do
done
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"
get_commit_msg()
{
commit="$1"
@@
-50,12
+59,13
@@
process_commit()
{
commit="$1"
branch_name=$(get_branch_name "$commit")
{
commit="$1"
branch_name=$(get_branch_name "$commit")
-
echo "Importing $commit to
$branch_name"
+
info "---- Importing $commit to $branch_prefix
$branch_name"
tg create "$branch_prefix""$branch_name"
tg create "$branch_prefix""$branch_name"
- git
read-tree
"$commit"
+ git
cherry-pick --no-commit
"$commit"
get_commit_msg "$commit" > .topmsg
git add -f .topmsg .topdeps
git commit -C "$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
}
# nice arg verification stolen from git-format-patch.sh