qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Mark McLoughlin <markmc@redhat.com>
Cc: qemu-devel@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: Handling merge conflicts [was Re: [Qemu-devel] [PATCH 00/19 v2] Add virtio-net/tap support for partial csums and GSO]
Date: Wed, 28 Oct 2009 11:51:37 -0500	[thread overview]
Message-ID: <4AE87699.5080103@codemonkey.ws> (raw)
In-Reply-To: <1256747374.5105.82.camel@blaa>

Mark McLoughlin wrote:
>> I could add a 
>> bisectability test but that would take a long time to run...
>>     
>
> Testing that each commit builds could be easily automated and quick to
> run. I try to do that before sending a series.
>   

It's certainly doable.  I used to do that as part of my regular process.

>> Alternatively, cooperating among each other to stagger submissions could 
>> help.
>>     
>
> Given the lag between submission and pushing, waiting until the first
> series is pushed probably isn't what we want.
>
> One way I tried solving this before was pulling conflicting patches into
> my tree, re-basing on top of them and then asking you to pull from my
> tree, but that was ignored.
>   

My process is really optimized to avoid losing patches.  It gets 
difficult to maintain this fidelity when dealing with subtree pulls 
unless there's an absolute clear set of rules about what patches can be 
dropped from my normal process.

Subtree pulls have worked great for linux-user because I can drop 
linux-user patches very easily and they never touch anything else.   
Riku also batches linux-user patches on the mailing list which is 
helpful when dealing with subtrees.

As we get better at modularity and some of these touch everything series 
slow down, I think we'll be able to more sanely do subtree pulls.

> I'd have been happy to re-base my series on-top of Gerd's and re-send to
> the list, but I fear you might then have tried to apply my series first
> and then dropped it. Also, I hate spamming the list with large series of
> patches that have only trivially been changed.
>
> How about a simple "I've merged Gerd's into staging, yours conflicts,
> please re-base" on-list? Then I could reply with "Cool, re-base pushed
> to vnet-hdr.v2 in my tree" and you could merge that?
>   

I do this for non-trivial rebases.  It would slow things down 
considerably to do this for everything because as I've said before, 
everything conflicts in some way.  It offers little value to the process 
too.  This was a simple conflict resolution that a trained monkey would 
have been capable of resolving :-)

The big problem is squashing the commits.  It gets challenging because 
it requires every change to be an individual commit and then it often 
takes a lot of manual tinkering to find the right commits to squash 
with.  Using git branch merging would really simplify my life here and 
it's something I've been considering for some time now.

It also helps with review because it demonstrates exactly what I did to 
resolve the conflict.

> Personally, I prefer a linear history but this implies re-basing series.
> A conflicting re-base should be usually be done by the submitter,
> though.
>
> However, if you are to resolve a conflict, it probably should be done as
> a merge commit rather than as a re-base.
>   

Yeah, I've been leaning toward something like this for a while and I 
think I might take a stab at it.  We'll lose a linear history anyway 
once we start using sub trees more so it's not a huge loss.

Regards,

Anthony Liguori

  reply	other threads:[~2009-10-28 16:51 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-22 16:43 [Qemu-devel] [PATCH 00/19 v2] Add virtio-net/tap support for partial csums and GSO Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 01/19] net: remove unused includes of if_tun.h and if_tap.h Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 02/19] net: import linux tap ioctl definitions Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 03/19] net: make tap_receive() re-use tap_receive_iov() code Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 04/19] net: enable IFF_VNET_HDR on tap fds if available Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 05/19] net: refactor tap initialization Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 06/19] net: add a vnet_hdr=on|off parameter Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 07/19] net: add a client type code Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 08/19] net: add tap_has_vnet_hdr() and tap_using_vnet_hdr() APIs Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 09/19] net: add flags parameter to packet queue interface Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 10/19] net: add an API for 'raw' packets Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 11/19] net: add receive_raw parameter to qemu_new_vlan_client() Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 12/19] net: use qemu_send_packet_raw() in qemu_announce_self() Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 13/19] net: implement tap support for receive_raw() Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 14/19] virtio-net: add vnet_hdr support Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 15/19] net: add tap_set_offload() Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 16/19] virtio-net: enable tap offload if guest supports it Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 17/19] Work around dhclient brokenness Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 18/19] Enable UFO on virtio-net and tap devices Mark McLoughlin
2009-10-22 16:43 ` [Qemu-devel] [PATCH 19/19] virtio-net: add tap_has_ufo flag to saved state Mark McLoughlin
2009-10-28 14:30 ` Handling merge conflicts [was Re: [Qemu-devel] [PATCH 00/19 v2] Add virtio-net/tap support for partial csums and GSO] Mark McLoughlin
2009-10-28 14:57   ` Gerd Hoffmann
2009-10-28 15:28     ` Anthony Liguori
2009-10-28 16:24       ` Avi Kivity
2009-10-28 16:35         ` Anthony Liguori
2009-10-28 16:36         ` Anthony Liguori
2009-10-29  8:18           ` Avi Kivity
2009-10-28 19:29         ` Gerd Hoffmann
2009-10-28 15:26   ` Anthony Liguori
2009-10-28 16:29     ` Mark McLoughlin
2009-10-28 16:51       ` Anthony Liguori [this message]
2009-10-28 19:25       ` Gerd Hoffmann
2009-10-28 19:19     ` Gerd Hoffmann
2009-10-30 10:04 ` [Qemu-devel] [PATCH 00/19 v2] Add virtio-net/tap support for partial csums and GSO Juha.Riihimaki
2009-10-30 16:59   ` Mark McLoughlin
2009-10-30 21:10     ` Alexander Graf

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=4AE87699.5080103@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=kraxel@redhat.com \
    --cc=markmc@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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).