[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