On Jan 11, 2011, at 8:23 PM, Yawar Amin wrote: > Hi John, > > Trying to understand your suggestion. Questions below: > > On 2011-01-08, at 17:16, John Ralls wrote: > >> […] >> >> Maybe instead you could create a fake-master branch off of master in your >> git-svn repo and tie fake-master to github's master. > > You mean: > > [git-svn master] git checkout -b fake-master remotes/github/master > > ? > >> Then you can >> git svn rebase master > > This is to fetch new revisions from SVN and rebase any local work in master > on top of that, right? > >> git checkout fake-master >> git merge master >> git pull --rebase github fake-master > > I don’t get this one. The repo up on GitHub is not supposed to see > fake-master, right? So why are we pulling fake-master from GitHub? > >> git push github fake-master > > Corollary of the above, why are we pushing fake-master to GitHub? > >> git checkout master >> git merge fake-master >> git dcommit >> >> (In a script, of course). >> That way we can keep our throwaway branches to ourselves, the github repo >> will look reasonable, and you don't have to do a bunch of hand merging and >> branch deleting. > > I have to admit I tried out the throwaway branch approach and found it pretty > simple, except for the part where the contributor has a dangling reference to > the remote branch after the remote branch has been deleted. Oh well. Would > like to understand and try your approach as well. >
No, you've got it backwards. The idea is that in your local repo (the one that syncs between svn and github) master syncs with svn trunk and fake-master syncs with github's master. That way, git users can merge their local branches to/from master and rebase then push to github master as usual. All of the merging back-and-forth between snv and github has to happen at the intermediary machine (yours). git checkout -b fake-master remotes/github/master won't work: the start-point needs to be a commit, not a treeish. git branch -t fake-master remotes/github/master instead (and I don't think that you need the "remotes/" part, but it won't do any harm) But if you're going to start over, then github/master won't exist yet and you'll just git branch fake-master while you have master checked out, then git remote add -t fake-master -m github g...@github.com:Gnucash/gnucash.git to point fake-master at master on github. I'm working from the manpages here, not experience, so one of us should try it out with local repos first... Maybe I can get to it this weekend. I want to get the database version upgrade stuff finished and committed first. Regards, John Ralls _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel