I have attached a testcase shell script. I want to downgrade a sub-project, but can't figure out how. Here's the story:
I created two repos, "subproject" and "superproject". I committed several versions of some files into subproject, giving them tags "v0", "v1", "v2"... etc. In superproject, I added subproject as a repo and merged it as a subtree: git remote add subproject ../subproject git fetch --tags subproject git merge -s ours --no-commit v1 git read-tree --prefix=subproject/ -u v1 git commit -m "added subproject at v1" I then commit some patches to subproject, but I believe that is immaterial. Next I update the subproject to v3, and that goes well: git merge -s subtree -X subtree=subproject v3 But then I realize I really want v2. I think what I need here is a rebase, but I'm not sure. Here's what I tried: git checkout -b downgrade-subproject-to-v2 git rebase -s subtree -X subtree=subproject --onto v2 downgrade-subproject-to-v2 But I see the contents of the subproject get spoojed out all over my superproject's main directory! Is this a bug in rebase, or am I doing it wrong? Dave -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.
test-subtree-merge.sh
Description: application/shellscript