Whatever strategy is recommended, could that be put on the FEniCS website?

--Nico



On Fri, May 24, 2013 at 2:00 PM, Johan Hake <[email protected]> wrote:

> Lawrence!
>
> Thanks for this write up. We will try publish a version of this
> description on fenicsproject.org for best git practice.
>
> On 05/24/2013 01:47 PM, Martin Sandve Alnæs wrote:
> > I think it's best to avoid squashing and other commit id modifying tasks
> > after the branch has been made public. That's my understanding of where
> > this went wrong, but I must admit I haven't looked in much detail. If no
> > commit ids are rewritten, fixes can be commited to both
> > of dolfin.git/feature-branch and jrandom-developer.git/feature-__branch
> > and merged between them, then merged into next again and finally into
> > master, I see no issues then.
>
> That was my impression too.
>
> > Martin
> >
> >
> > On 24 May 2013 13:35, Lawrence Mitchell <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> >     Dear all,
> >
> >     I recently contributed some code to dolfin which raised some
> >     questions about how best to carry out pull request/code review and
> >     subsequent merging.  As an outside developer (with no access to the
> >     main dolfin repository) here is how I envisaged the process working:
> >
> >     1. Fork dolfin.git
> >
> >     2. Hack away implementing new feature.
>
> Should add that this should be done in its own feature branch.
>
> >     3. When ready submit as pull request.
> >
> >     4. Respond to review comments by making changes in my branch.
> >
> >        Where appropriate, these would either be as new commits, or
> >     fixups squashed into existing commits (perhaps fixing a typo).  Like
> >     a good git citizen, I rerolled my patches in response to review
> >     comments.
>
> Why is it bad git habit to push small typo commits? Especially when it
> potentially will screw the history compared to an already published and
> pushed branch on the main dolfin repository?
>
> >     5. Force push latest version out for people to look at.
> >
> >     6. When everyone is happy, push final version ready for merging.
> >
> >     This seems to conflict slightly with the integration testing that
> >     maintainers are doing, as a result of which, bitbucket got in a
> >     terrible tizz (see discussion here
> >
> https://bitbucket.org/fenics-__project/dolfin/pull-request/__24/expose-petsc-objects-to-__pydolfin-using/activity
> >     <
> https://bitbucket.org/fenics-project/dolfin/pull-request/24/expose-petsc-objects-to-pydolfin-using/activity
> >).
> >
> >     AIUI, the dolfin maintainers do something like the following:
>
> I change this to:
>
>      1. Fetch feature branch into local repo
>
>      2. Test the feature branch locally
>
>      3. Push to main repo
>
>      4. If there are issues, either ask jrandom to update his
>         branch or just fix it in the feature branch
>
>      5. Pull any new fixes from jrandoms repor
>
>      6. Graduate to next
>
>      7. Do 4-6 until satisfaction.
>
>      8. Graduate to master
>
> Johan
>
> >     2. Merge feature branch to next and test
> >
> >     3. Fix any minor issues with feature branch
> >
> >     4. Eventually merge to master
> >
> >
> >     This works as long as, before the merge to master,
> >     dolfin.git/feature-branch and jrandom-developer.git/feature-__branch
> >     agree on the commit ids.  Remember, bitbucket still thinks the merge
> >     is coming from the latter repository.
> >
> >     So the problem seemed to arise in the interaction between my feature
> >     branch, and the feature branch pulled in to the main repository.  I
> >     was expecting that it would be reset to whatever I had pushed out in
> >     response to review, whereas this didn't happen remotely.
> >
> >     Is there any strong feeling and/or guidance on what I should have
> done?
> >
> >     Lawrence
> >
> >     --
> >     The University of Edinburgh is a charitable body, registered in
> >     Scotland, with registration number SC005336.
> >
> >     _________________________________________________
> >     fenics mailing list
> >     [email protected] <mailto:[email protected]>
> >     http://fenicsproject.org/__mailman/listinfo/fenics
> >     <http://fenicsproject.org/mailman/listinfo/fenics>
> >
> >
> >
> >
> > _______________________________________________
> > fenics mailing list
> > [email protected]
> > http://fenicsproject.org/mailman/listinfo/fenics
> >
>
> _______________________________________________
> fenics mailing list
> [email protected]
> http://fenicsproject.org/mailman/listinfo/fenics
>
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to