git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: demerphq <demerphq@gmail.com>
To: "Curtin, Eric" <Eric.Curtin@dell.com>
Cc: Konstantin Tokarev <annulen@yandex.ru>,
	Junio C Hamano <gitster@pobox.com>,
	Christian Couder <christian.couder@gmail.com>,
	"git@vger.kernel.org" <git@vger.kernel.org>,
	"Geary, Niall" <Niall.Geary@dell.com>,
	"rowlands, scott" <Scott.Rowlands@dell.com>,
	Michael Haggerty <mhagger@alum.mit.edu>,
	"Coveney, Stephen" <Stephen.Coveney@dell.com>
Subject: Re: Collaborative conflict resolution feature request
Date: Thu, 18 Jun 2020 10:11:16 +0200	[thread overview]
Message-ID: <CANgJU+WfW4mKotMwFS+2Kaq1pDysgJutJ2NhUvyvGgowk8JXsg@mail.gmail.com> (raw)
In-Reply-To: <BY5PR19MB34007DEED68D13003C614F5F909C0@BY5PR19MB3400.namprd19.prod.outlook.com>

On Mon, 15 Jun 2020 at 11:30, Curtin, Eric <Eric.Curtin@dell.com> wrote:
>
> > An aside that probably would not directly help Eric, but I know the
> > above workflow helps reasonably well.  The 'pu' branch is rebuilt
> > not on top of 'next', but is rebuilt with all topics (including
> > those already in 'next') in flight directly on top of 'master',
> > which serves as a way to anticipate conflicts that will require
> > resolution in the future before the topics can enter 'next' branch.
>
> Out of all the currently available options this solution helps. Thanks
> Junio! I played with incremental merge techniques this weekend.
> One problem with incrementally merging is that you start fixing
> conflicts that are later invalidated by subsequent commits. So it
> seems you end up doing more conflict resolution than necessary.
> Unless I'm misusing the technique.

I find that the solution in these cases is to first use interactive
rebase to squash and reorganize the commits in the branches so you
have a nice clean patch sequence. Once you have the branches cleaned
up and squashed into a sequence of reasonable topic based chunks you
then merge, sometimes it even means you dont get conflicts at all, git
merge is pretty smart.

And after that you change your workflows so the rule is that whomever
pushes first to the "trunk branch" wins, and the other guy has to do
the conflict resolution. People will start merging earlier and more
often so they can keep the conflicts to a minimum. :-) In other words
I second what Philip Oakley said about bad workflows. Merge early,
merge often, rollout early, rollout often, vote early, vote often. :-)

cheers,
Yves


-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

  parent reply	other threads:[~2020-06-18  8:11 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-12 14:08 Collaborative conflict resolution feature request Curtin, Eric
2020-06-13 11:33 ` Johannes Sixt
2020-06-13 12:08 ` Christian Couder
2020-06-13 12:38   ` Curtin, Eric
2020-06-13 13:14     ` Philip Oakley
2020-06-13 16:44       ` Junio C Hamano
2020-06-15  9:51       ` Sergey Organov
2020-06-15 11:04         ` Philip Oakley
2020-06-16 17:17           ` Stefan Moch
2020-06-17 18:32             ` Curtin, Eric
2020-06-17 21:17               ` Sergey Organov
2020-06-13 17:10     ` Christian Couder
2020-06-13 19:22       ` Junio C Hamano
2020-06-13 19:34         ` Junio C Hamano
2020-06-14 11:05           ` Philip Oakley
2020-06-14 13:00         ` Konstantin Tokarev
2020-06-15  9:28           ` Curtin, Eric
2020-06-15 11:31             ` Philip Oakley
2020-06-15 16:57               ` Junio C Hamano
2020-06-15 17:32                 ` Chris Torek
2020-06-16 15:56                   ` Chris Torek
2020-06-15 19:37                 ` Philip Oakley
2020-06-17 18:30                   ` Junio C Hamano
2020-06-18  8:11             ` demerphq [this message]
2020-06-18  8:53               ` Curtin, Eric
2020-06-18  9:28                 ` Curtin, Eric
2020-06-18 10:14                   ` demerphq
2020-06-19  9:17                     ` Curtin, Eric
2020-06-20 16:09                       ` Christian Couder
2020-06-21  0:20                         ` Curtin, Eric
2020-06-16  9:08   ` Christian Couder
2020-06-15 12:55 ` Sergey Organov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANgJU+WfW4mKotMwFS+2Kaq1pDysgJutJ2NhUvyvGgowk8JXsg@mail.gmail.com \
    --to=demerphq@gmail.com \
    --cc=Eric.Curtin@dell.com \
    --cc=Niall.Geary@dell.com \
    --cc=Scott.Rowlands@dell.com \
    --cc=Stephen.Coveney@dell.com \
    --cc=annulen@yandex.ru \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=mhagger@alum.mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).