[prev in list] [next in list] [prev in thread] [next in thread] 

List:       boost
Subject:    Re: [boost] [git] Pushing commit(s) after pulling
From:       Vladimir Prus <ghost () cs ! msu ! su>
Date:       2014-08-20 4:09:18
Message-ID: lt171c$1he$1 () ger ! gmane ! org
[Download RAW message or body]

On 08/20/2014 05:18 AM, Gavin Lambert wrote:
> On 20/08/2014 02:53, Vladimir Prus wrote:
> > Thanks for writing this down in detail! It's indeed a matter of
> > preference, although:
> > 
> > - For Boost.Build specifically, I prefer to avoid merge commits as much
> > as possible.
> > - In most cases of a single commit, or a few unrelated commits, using
> > "git pull" and
> > creating merge commits results in rather noisy and unclear history.
> > I'd imagine
> > maintainers of other components might prefer to avoid that - although
> > it's up to them,
> > of course.
> 
> One case where it's a bit trickier to define the "right thing" is with pull requests.
> 
> The simplest thing to do (especially if you're using the GitHub UI) is to simply merge the pull request \
> directly.  Obviously this does create a merge commit and you'll see a fork in the revision graph as in \
> my first diagram. 
> Often the pull request is created in isolation (especially if the user was using the GitHub editing UI \
> directly) and so the maintainer could reasonably safely do a rebased or squashed pull on this branch to \
> keep the core history "clean".  This can be especially tempting if there were multiple commits to the \
> PR branch during its lifetime to correct various issues raised by the maintainer -- then a squashed \
> merge would produce a single "pristine" commit without all of the fumbling.

Yep, I normally merge pull requests by hand, using "git fetch" + "git cherry-pick" of FETCH_HEAD - \
optionally squashing.

> The downside of the latter is that the history will no longer show which PR branch it came from (that's \
> the part you're cleaning) -- and if the user didn't create it as a throwaway but is using it in one of \
> their own branches (which is likely if they're using git themselves for their own software) then the \
> former will just work nicely for them while the latter will create a conflict that forces them to \
> rebase anything built on top of it.

You are correct. Was not a problem in practice for me though - the branches being pull-requested had \
temporary-sounding names.

- Volodya


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic