couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Kocoloski <>
Subject merging the new github master into an old branch
Date Tue, 06 Jan 2009 14:28:12 GMT
Hi, I have a few topic branches that I forked off of the old git-svn  
repo run by Jim Lindley on GitHub.  I'd like to keep these branches up- 
to-date with trunk, but this is complicated slightly by the fact that  
the preferred git mirror for CouchDB is now the one run by Tim Carey- 
Smith (halorgium), which has a different working tree structure than  
jlindley's old one.  Here's what I did, hopefully someone else finds  
it useful.  All commands are executed with the topic branch checked  
out ...

1) Reorganize the topic branch's working tree to look like halorgium's  

git rm -r branches site supplement tags vendor
git commit -m "don't include SVN branches, tags, etc. in working tree"
git mv trunk/* .
rmdir trunk
git commit -m "move trunk contents to root"

2) Find the latest SVN commit that shows up in the new master and my  
topic branch.  The git objects corresponding to that SVN commit will  
be different.  Merge that commit from master into the branch:

git merge d9a5ce0955f28373eeeab9537a37bc549f3da013

3) Step 2 almost certainly required some manual conflict resolution,  
but hopefully we minimized it by choosing the latest common SVN  
commit.  Now we can merge all the newer changes in trunk.  I tried  
doing this with a git-rebase, but rebase didn't know how to handle the  
step where I moved trunk's contents into the working tree, so:

git merge master

I'm not a git pro by any means, so I'd be happy to hear if there are  
other, better ways of handling this. Best, Adam

View raw message