I've got the git-subtree merge in pretty good shape now. After being
taught about TEST_DIRECTORY, I've been able to get rid of all of the
test system changes and can run the git-subtree tests using the stock
test infrastructure.
Before I can put the new tree up I need a little help. Since it's been
a while since I posted the last version of the tree, I tried to update
from upstream master. git-subtree is in a separate branch (it wqas
applied as a subtree merge) so I did the usual switch-to-master-and-pull
thing.
However, now I don't know how to rebase from master to the subtree
branch. If I do a "git rebase master" then the subtree merge gets
re-applied as if the files were placed in the root directory rather than
in the target directory of the original subtree merge.
The problem is described pretty well here and the issue has been covered
on the mailing list before:
http://groups.google.com/group/git-users/browse_thread/thread/d54bacd234d95639
http://comments.gmane.org/gmane.comp.version-control.git/191934
I can think of a few strategies to move forward.
1. Keep the git-subtree branch where it is. Don't rebase and just push
the branch to a public repository. Make Junio do the hard work. :)
2. Split the subtree merge, remove it from the git repository, rebase
from master and then re-subtree-merge it.
3. Don't do a rebase, just do a regular merge from master.
Which of these would be best to integrate git-subtree into
Junio's repository?
git-web guys, how did you handle this situation?
Thanks!
-David
On Tue, Mar 20, 2012 at 8:36 PM, [off-list ref] wrote:
I've got the git-subtree merge in pretty good shape now. After being
taught about TEST_DIRECTORY, I've been able to get rid of all of the
test system changes and can run the git-subtree tests using the stock
test infrastructure.
Before I can put the new tree up I need a little help. Since it's been
a while since I posted the last version of the tree, I tried to update
from upstream master. git-subtree is in a separate branch (it wqas
applied as a subtree merge) so I did the usual switch-to-master-and-pull
thing.
However, now I don't know how to rebase from master to the subtree
branch. If I do a "git rebase master" then the subtree merge gets
re-applied as if the files were placed in the root directory rather than
in the target directory of the original subtree merge.
The problem is described pretty well here and the issue has been covered
on the mailing list before:
http://groups.google.com/group/git-users/browse_thread/thread/d54bacd234d95639
http://comments.gmane.org/gmane.comp.version-control.git/191934
I can think of a few strategies to move forward.
1. Keep the git-subtree branch where it is. Don't rebase and just push
the branch to a public repository. Make Junio do the hard work. :)
Hehe, I'm pretty sure the option that involves Junio doing the least
amount of work is the option to take ;-)
2. Split the subtree merge, remove it from the git repository, rebase
from master and then re-subtree-merge it.
I don't know if git-gui or gitk maintainers have advice for you, but
it sounds like this may be the best option, IMO. git-subtree is not
yet part of the git history.
git is in a RC cycle right now, which is likely why you have not heard
much on this topic (new feature). Folks will be busy testing the RC
and ensuring we have no regressions.
Looking forward to git-subtree,
--
David