[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Process for cherry-picking patches from other projects


  • To: George Dunlap <George.Dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Mon, 16 May 2022 15:04:13 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nmbswEJSrEKjqoojLoE4xTqWQwbrMQURlD61oj53w3Q=; b=UKOD59oC88GejafjFkP/clBkyeBgg2tlyZfhgRylM4BhkYijEOevGd3mOPgOj56zy41dMXmBp81Vzr6SLmjf+fC4cCnqJzBLFnRFebxArtXbxNLjDRBR3xjj/JEtiPciRjVuL9ogBe1y71XxC+Wk37gRXaQ4QMsrely8BCLlxCt0NtHm+qKZ6Q1RkMSrY8K77wY2m6mAqdEA/WwqWXsCL3ny6ce8VIaCEi1926Ht7Au3nW+L5hZ6652NssnMhbOTNZvYTBjLrhmOo71ilIgl3S9AgfF6nxiPG4JXDznPV7eq6P4BGRDB6NzzryrByFi8CU3VNnUiZhzbbrn5Da/OSg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CEjWwVfJcCIBUTLsdRTR/42R3LhfNIT7PqFMbpYwYB+tNI3i8QQsII9Z24p1cirW49O86zqFMAp8X5/YQ6l7TY4DTO7/Q2oTeKzCJOyq9CJ/Xb4UvmFCcSspbpaWDk6WB6yi6sBYoFkYEuUWcIKr8HxcWWrlE173xn8zBFDDOOfkT57HEcByVU+KRO0reuwhvy27AI/xEbdaLellSeADLc/cSy6PLqk1oomhKruMgNIVFixxmw2HQvhTEwTYBrH0g73sO4zLpmOBc3k3y+kZ8VjoZLzKtW2YTnaZd+03rwmb3AK5b1i+tut75rmzdIUYe+GmvFwjyzmELzth8tH8Bg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Delivery-date: Mon, 16 May 2022 15:04:57 +0000
  • Ironport-data: A9a23:64kGF6m8j80mWnlRnPqDlcfo5gy5J0RdPkR7XQ2eYbSJt1+Wr1Gzt xIWD2uBMv+JZ2P2Kt1zO4y39xkE6J7VyYRgSlZlqCozRCMWpZLJC+rCIxarNUt+DCFioGGLT Sk6QoOdRCzhZiaE/n9BCpC48T8kk/vgqoPUUIYoAAgoLeNfYHpn2EsLd9IR2NYy24DkWl3V4 LsenuWEULOb828sWo4rw/rrRCNH5JwebxtB4zTSzdgS1LPvvyF94KA3fMldHFOhKmVgJcaoR v6r8V2M1jixEyHBqD+Suu2TnkUiGtY+NOUV45Zcc/DKbhNq/kTe3kunXRa1hIg+ZzihxrhMJ NtxWZOYRzkwIoPPidYkUQRlLixcYql66ICAGC3q2SCT5xWun3rE5dxLVRlzEahGv+F9DCdJ6 OASLy0LYlabneWqzbmnS+5qwMM+MM3sO4BZsXZlpd3bJa9+HdafHOOXtZkBhGtYasNmRJ4yY +IwbzZ1YQuGSBpIIloNU7o1nfuyh2m5eDpdwL6QjfVvvDiDnFcvuFTrGNz7WOabYOtaomenr XL42DziBhI3b8PKnFJp9Vrp3IcjhxjTWogfCbm5/f5Cm0CIyyoYDxh+fXG2u+Wjg0iyHfdWM VUJ+zEGpLI3skesS7HVXQC8oXOClg4RXZxXCeJSwBqW1qPe7gKdB24FZj1MctorsIkxXzNC/ k+EmZblCCJitJWRSGmB7fGEoDWqIy8XIGQeIygeQmMt4db5p5oopgnSVdslG6mw5uAZAhn1y jGO6SQ72bMaiJdT073hpAibxTWxupLOUwg5oB3NWX6o5R94Y4jjYJG07V/c7rBLK4PxokS9g UXoUvO2tIgmZaxhXgTWKAnRNNlFP8q4DQA=
  • Ironport-hdrordr: A9a23:2Xj9y6pWdiy3gPdDfw/Hx/IaV5tyLNV00zEX/kB9WHVpm5Oj+v xGzc5w6farsl0ssSkb6Ku90KnpewK+yXbsibNhcYtKLzOWwldAS7sSorcKogeQVhEWk9Qw6U 4OSdkYNDSdNzlHZIPBkXGF+rUbsZe6GcKT9IHjJh5WJGkEBZ2IrT0JczpzeXcGJjWucKBJcK Z0kfA3wgZIF052Uu2LQl0+G8TTrdzCk5zrJTQcAQQ81QWIhTS0rJbnDhmxxH4lInNy6IZn1V KAvx3y562lvf3+4ATbzXXv45Nfn8ak4sdfBfaLltMeJlzX+0WVjcVaKv+/VQIO0aWSAWUR4Z 7xStAbToJOAkbqDySISN3WqlDdOXgVmiffIBSj8AbeSITCNU4H4ox69MNkm1LimjQdVJsX6t M140uJ85VQFh/OhyL7+pzBUAxrjFO9pT44nfcUlGE3a/pXVFZ9l/1owKpuKuZIIMs60vFULM B+SMXHoPpGe1KTaH7U+mFp3dy3R3w2WhOLWFILtMCZ2yVf2CkR9TpT+OUP2nMbsJ4tQZhN4O rJdqxuibFVV8cTKaZwHv0IT8e7AnHEBRjMLGWRK1L6E7xvAQOHl7fnpLEuoO26cp0By5U/3J zHTVNDrGY3P1njDMWftac7hSwlgF/NKQgF5vsul6SR4IeMNYYDGRfzO2wGgo+nv+gVBNHdVr K6JI9WasWTWFfTJQ==
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYZtZwibZ3DwtT5Ea5wKgBtO2ACK0hnruA
  • Thread-topic: Process for cherry-picking patches from other projects

On 13/05/2022 15:33, George Dunlap wrote:
> Starting a new thread to make it clear that we’re discussing a wider policy 
> here.
>
> This question is aimed at Jan and Andy in particular, as I think they’ve 
> probably done the most of this; so I’m looking to them to find out what our 
> “standard practice” is.
>
> There have recently been some patches that Bertrand has submitted which pull 
> in code from Linux ("[PATCH 1/3] xen/arm: Sync sysregs and cpuinfo with Linux 
> 5.18-rc3”), which has caused a discussion between him, Julien, and Stefano 
> about the proper way to do such patches.
>
> The “Origin:” tag section of xen.git/docs/process/sending-patches.pandoc 
> suggests that there are some standards, but doesn’t spell them out.
>
> The questions seem to be:
>
> 1) When doing this kind of update, is it permissible to send a single patch 
> which “batches” several upstream commits together,

Yes, absolutely.

We do this all over the place.

>  or should each patch be backported individually?
>
> 2) If “batches” are permissible, when?  When would individual patches be 
> preferred?

That's a matter of taste.  If it's several patches of a complicated
bugfix, then it probably wants splitting up in the same way.

If it's a bunch of misc changes, then batching is fine.


> 3) For “batch updates”, what tags are necessary?  Do we need to note the 
> changesets of all the commits, and if so, do we need multiple “Origin” tags?  
> Do we need to include anything from the original commits — commit messages?  
> Signed-off-by’s?

"Update $FOO to something resembling $PROJECT, $VERSION" is perfectly good.

>
> And a related question:
>
> 4) When importing an entire file from an upstream like Linux, what tags do we 
> need?

Any clear reference to where it came from.

Nothing is ever imported verbatim.  If nothing else, paths have to be
changed, and usually more than that.

Given that, I do question whether it is appropriate to retain original
authorship.  The original author did not write a patch for Xen, and what
gets committed wasn't the patch they wrote.

Any issues with the port into Xen should be sent to the person who did
the port into Xen, not the original author who most likely has no idea
that their patch has been borrowed by Xen.

IMO, a commit message saying "port $X from project $Y" makes it crystal
clear that the original code change isn't mine, but the porting effort
is.  Amongst other things, porting invalidates any review/ack/test chain
because those tags were given in the context of the original project,
not Xen.

~Andrew

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.