That's spot-on as far as I can tell! One bonus tweak is, straight *after* 
"git push origin problembranch #push the branch to SF" to then:

git push github problembranch #push the branch to github - beat Christian's 
script to the punch

You have to do that after, not before, because otherwise you might push to 
GH during the mirror, which means your push will get erased.

Note you'd need a "remote" called "github". I call mine "g" because that's 
less typing.

Ah, you're taking me back now to the Atari 2600!

Cheers,
Ed

-----Original Message----- 
From: Derek Lamb
Sent: Monday, September 21, 2015 6:49 PM
To: Ed
Cc: pdl-devel
Subject: Re: [Pdl-devel] question about github / SF interoperability

Thanks, Ed.  I hadn't realized that was unidirectional, and that it was a 
user-implemented thing.  I think I saw something at SF about how to mirror a 
GH project, so I thought it went both ways.

So the recommended workflow is (from memory, I probably got some detail or 
option wrong):

git pull origin master #update local repository
git checkout -b problembranch #create a local branch
#fix a problem
git add filename(s) #add files to staging area
git commit #commit the changes to the local problembranch
git push origin problembranch #push the branch to SF
#after a few minutes, log into GH, go to problembranch and initiate a pull 
request
#Wait for the automatic build tests to run and pass
#Wait for somebody to look at and approve the code if it is complicated
#DON'T merge and delete the branch on GH, ignore the tempting buttons
git rebase master #rebase the branch onto master
git checkout master #still rebasing
git merge problembranch —ff-only #finally done rebasing
git push origin master #push to SF
git push origin :problembranch #delete the remote branch
git branch -d problembranch #delete the local branch

Part of me is yearning for those bygone CVS days, where we had one central 
repository and nobody knew how to branch so everything just got done on 
master and you couldn't do hardly anything without a network connection:

cvs update -d #update local repository
#fix a problem
cvs commit #push changes

In other news, I got to show my son how to use a joystick on a working Apple 
IIe at the library yesterday.  Now if you'll excuse me, I have to get back 
to looking at these Polaroids through my rose-tinted glasses…

cheers,
Derek


> On Sep 20, 2015, at 12:34 PM, Ed <ej...@hotmail.com> wrote:
>
> Christian is running a script that every 5 minutes mirrors the SF repo 
> onto the Github one - and only ever in that direction. This means any 
> changes you make using Github (merging, deleting branches) will have no 
> permanent effect. Your sf#396 branch is still present on both the SF and 
> GH repos.
>
> To effectively merge it, you will need to merge it and push it to the SF 
> repo. Please do this by rebasing and an FF-only merge, not with a merge 
> commit :-) You'll then be able to tidily delete your sf#396 branch, on the 
> SF repo, which will then get reflected on the GH repo in due course.
>
> Ed
>
> -----Original Message----- From: Derek Lamb
> Sent: Friday, September 18, 2015 6:57 PM
> To: pdl-devel
> Subject: [Pdl-devel] question about github / SF interoperability
>
> Question about PDL's GitHub / SF interoperability.  A couple weeks ago I 
> pushed the branch sf#396 to SF.  Soon thereafter it showed up on GitHub. 
> I then initiated a pull requested from GitHub.  After a while it passed 
> all the checks, so I let it sit for a week or so.  Seeing no up- or 
> down-votes, I used the GitHub web interface to merge branch sf#396 into 
> master.  It said I was OK to delete the branch, so I did. I assumed there 
> would be an automatic push up to SF.  When I look up that branch in SF I 
> get an error (presumably the branch is gone but still lists in the branch 
> list for some reason?).  But I'm not seeing the commit in either the SF 
> master, or now even in GitHub master.
>
> I just noticed that Christian Walde restored the sf#396 branch 3 minutes 
> after I deleted it.  The commit is still there.  But I don't see where the 
> merge into master was un-done (if it was), or why.
>
> https://github.com/PDLPorters/pdl/pull/148
>
> So, what gives? Does the GitHub repo automatically push to SF?  And where 
> did my merge to master go?
>
> thanks,
> Derek
> ------------------------------------------------------------------------------
> _______________________________________________
> pdl-devel mailing list
> pdl-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pdl-devel


------------------------------------------------------------------------------
_______________________________________________
pdl-devel mailing list
pdl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pdl-devel

Reply via email to