{"thread":{"id":"44263","subject":"How to watch a mailing list & repo for patches which affect a certain area of code?","startedAt":"2016-10-09T19:11:21Z","lastAt":"2016-10-10T20:49:25Z","messageCount":9,"participants":["Ian Kelling","Jason Pyeron","Eric Wong","Jakub Narębski","Stefan Beller"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"303680","messageId":"1476039798.3060702.750483225.1DE6C48B@webmail.messagingengine.com","threadId":"44263","inReplyTo":null,"subject":"How to watch a mailing list & repo for patches which affect a certain area of code?","fromName":"Ian Kelling","fromEmail":"ian@iankelling.org","sentAt":"2016-10-09T19:03:18Z","receivedAt":"2016-10-09T19:11:21Z","isPatch":false,"sender":{"key":"ian@iankelling.org","avatar":"https://avatars.githubusercontent.com/u/54232?v=4"},"body":"I've got patches in various projects, and I don't have time to keep up\nwith the mailing list, but I'd like to help out with maintenance of that\ncode, or the functions/files it touches. People don't cc me. I figure I\ncould filter the list, test patches submitted, commits made, mentions of\nfiles/functions, build filters based on the code I have in the repo even\nif it's been moved or changed subsequently. I'm wondering what other\npeople have implemented already for automation around this, or general\nthoughts. Web search is not showing me much.\n"},{"id":"303684","messageId":"4B3747D8D2724E98B6AC000FE4072A09@black7","threadId":"44263","inReplyTo":"1476039798.3060702.750483225.1DE6C48B@webmail.messagingengine.com","subject":"RE: How to watch a mailing list & repo for patches which affect a certain area of code?","fromName":"Jason Pyeron","fromEmail":"jpyeron@pdinc.us","sentAt":"2016-10-09T21:26:16Z","receivedAt":"2016-10-09T21:26:25Z","isPatch":false,"sender":{"key":"jpyeron@pdinc.us","avatar":"https://gravatar.com/avatar/c2e53452caa53d940768a1ffc9cf76196d851b9b534b7a39cd39852a70a0508f?d=mp&s=160"},"body":"> -----Original Message-----\n> From: Ian Kelling\n> Sent: Sunday, October 09, 2016 15:03\n> \n> I've got patches in various projects, and I don't have time to keep up\n> with the mailing list, but I'd like to help out with \n> maintenance of that\n> code, or the functions/files it touches. People don't cc me. \n> I figure I\n> could filter the list, test patches submitted, commits made, \n> mentions of\n> files/functions, build filters based on the code I have in \n> the repo even\n> if it's been moved or changed subsequently. I'm wondering what other\n> people have implemented already for automation around this, or general\n> thoughts. Web search is not showing me much.\n> \n\nOne thought would be to apply every patch automatically (to the branches of interest?). Then trigger on the [successful] changed\ncode. This would simplify the logic to working on the source only and not parsing the emails.\n\n-Jason\n\n"},{"id":"303724","messageId":"20161010151118.GA19486@starla","threadId":"44263","inReplyTo":"1476039798.3060702.750483225.1DE6C48B@webmail.messagingengine.com","subject":"Re: How to watch a mailing list & repo for patches which affect a certain area of code?","fromName":"Eric Wong","fromEmail":"e@80x24.org","sentAt":"2016-10-10T15:11:18Z","receivedAt":"2016-10-10T15:11:24Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Ian Kelling <ian@iankelling.org> wrote:\n> I've got patches in various projects, and I don't have time to keep up\n> with the mailing list, but I'd like to help out with maintenance of that\n> code, or the functions/files it touches. People don't cc me. I figure I\n> could filter the list, test patches submitted, commits made, mentions of\n> files/functions, build filters based on the code I have in the repo even\n> if it's been moved or changed subsequently. I'm wondering what other\n> people have implemented already for automation around this, or general\n> thoughts. Web search is not showing me much.\n\nFor the mailing list, you can try following an Atom feed for\nany specific search query.\nhttps://public-inbox.org/git/?q=FILE_OR_FUNCTION&x=A\n(the \"x=A\" makes it an Atom feed)\n\nIt's all still a work-in-progress but there'll be better\nfilename and diff handling in public-inbox soon.\n\n\nIt's all AGPL and the data is only sourced from this mailing\nlist, so 100% reproducible as I'm incapable of running a\nreliable server :>   Clone instructions at the bottom of\nhttps://public-inbox.org/git/\n"},{"id":"303773","messageId":"14d81587-b6b1-5880-d6af-0564780aeae4@gmail.com","threadId":"44263","inReplyTo":"1476039798.3060702.750483225.1DE6C48B@webmail.messagingengine.com","subject":"Re: How to watch a mailing list & repo for patches which affect a certain area of code?","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-10-10T18:10:29Z","receivedAt":"2016-10-10T18:10:43Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"W dniu 09.10.2016 o 21:03, Ian Kelling pisze:\n\n> I've got patches in various projects, and I don't have time to keep up\n> with the mailing list, but I'd like to help out with maintenance of that\n> code, or the functions/files it touches. People don't cc me. I figure I\n> could filter the list, test patches submitted, commits made, mentions of\n> files/functions, build filters based on the code I have in the repo even\n> if it's been moved or changed subsequently. I'm wondering what other\n> people have implemented already for automation around this, or general\n> thoughts. Web search is not showing me much.\n\nFirst, the practice on this mailing list is to Cc all, and from what\nI have seen people tend to do that (well, at least the regular participants).\n\nSecond, you can read this mailing list (and send emails / respond) with\na news reader via the NNTP interface (gmane or public-inbox).  News readers\nusually have good search capability.\n\nHope that helps\n-- \nJakub Narębski\n\n"},{"id":"303783","messageId":"CAGZ79kaHOBaVCsVPen-K_5LyitcDzVbjL_kAqMkYKk_fQxH4PQ@mail.gmail.com","threadId":"44263","inReplyTo":"4B3747D8D2724E98B6AC000FE4072A09@black7","subject":"Re: How to watch a mailing list & repo for patches which affect a certain area of code?","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2016-10-10T18:42:59Z","receivedAt":"2016-10-10T18:43:51Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"+cc Xiaolong Ye <xiaolong.ye@intel.com>\n\nOn Sun, Oct 9, 2016 at 2:26 PM, Jason Pyeron <jpyeron@pdinc.us> wrote:\n>> -----Original Message-----\n>> From: Ian Kelling\n>> Sent: Sunday, October 09, 2016 15:03\n>>\n>> I've got patches in various projects, and I don't have time to keep up\n>> with the mailing list, but I'd like to help out with\n>> maintenance of that\n>> code, or the functions/files it touches. People don't cc me.\n>> I figure I\n>> could filter the list, test patches submitted, commits made,\n>> mentions of\n>> files/functions, build filters based on the code I have in\n>> the repo even\n>> if it's been moved or changed subsequently. I'm wondering what other\n>> people have implemented already for automation around this, or general\n>> thoughts. Web search is not showing me much.\n>>\n>\n> One thought would be to apply every patch automatically (to the branches of interest?). Then trigger on the [successful] changed\n> code. This would simplify the logic to working on the source only and not parsing the emails.\n>\n> -Jason\n>\n\nI think this is currently attempted by some kernel people.\nHowever it is very hard to tell where to apply a patch, as it is not formalized.\nSee the series that was merged at 72ce3ff7b51c ('xy/format-patch-base'),\nwhich adds a footer to the patch, that tells you where exactly a patch ought\nto be applied.\n\nThe intention behind that series was to have some CI system hooked up\nand report failures to the mailing list as well IIUC. Maybe that helps with\nyour use case, too?\n"},{"id":"303785","messageId":"AB0A757A7BE241B39C8193A633C61FED@black7","threadId":"44263","inReplyTo":"CAGZ79kaHOBaVCsVPen-K_5LyitcDzVbjL_kAqMkYKk_fQxH4PQ@mail.gmail.com","subject":"RE: How to watch a mailing list & repo for patches which affect a certain area of code?","fromName":"Jason Pyeron","fromEmail":"jpyeron@pdinc.us","sentAt":"2016-10-10T18:56:34Z","receivedAt":"2016-10-10T18:56:46Z","isPatch":false,"sender":{"key":"jpyeron@pdinc.us","avatar":"https://gravatar.com/avatar/c2e53452caa53d940768a1ffc9cf76196d851b9b534b7a39cd39852a70a0508f?d=mp&s=160"},"body":"> -----Original Message-----\n> From: Stefan Beller\n> Sent: Monday, October 10, 2016 14:43\n> \n> +cc Xiaolong Ye <xiaolong.ye@intel.com>\n> \n> On Sun, Oct 9, 2016 at 2:26 PM, Jason Pyeron <jpyeron@pdinc.us> wrote:\n> >> -----Original Message-----\n> >> From: Ian Kelling\n> >> Sent: Sunday, October 09, 2016 15:03\n> >>\n> >> I've got patches in various projects, and I don't have \n> time to keep up\n> >> with the mailing list, but I'd like to help out with\n> >> maintenance of that\n> >> code, or the functions/files it touches. People don't cc me.\n> >> I figure I\n> >> could filter the list, test patches submitted, commits made,\n> >> mentions of\n> >> files/functions, build filters based on the code I have in\n> >> the repo even\n> >> if it's been moved or changed subsequently. I'm wondering \n> what other\n> >> people have implemented already for automation around \n> this, or general\n> >> thoughts. Web search is not showing me much.\n> >>\n> >\n> > One thought would be to apply every patch automatically (to \n> the branches of interest?). Then trigger on the [successful] changed\n> > code. This would simplify the logic to working on the \n> source only and not parsing the emails.\n> >\n> > -Jason\n> >\n> \n> I think this is currently attempted by some kernel people.\n> However it is very hard to tell where to apply a patch, as it \n\nThis is one of the reasons why I use bundles instead of format patch.\n\n> is not formalized.\n> See the series that was merged at 72ce3ff7b51c \n> ('xy/format-patch-base'),\n> which adds a footer to the patch, that tells you where \n> exactly a patch ought\n> to be applied.\n\nCant wait for that.\n\n> \n> The intention behind that series was to have some CI system hooked up\n> and report failures to the mailing list as well IIUC. Maybe \n> that helps with\n> your use case, too?\n\nI envisioned that it would try for each head he was interested in.\n\n"},{"id":"303788","messageId":"CAGZ79kb2HWmaW3XpfHRj8vcOStPoQmR_NZe7RCRhw=FnnHbZ8A@mail.gmail.com","threadId":"44263","inReplyTo":"AB0A757A7BE241B39C8193A633C61FED@black7","subject":"Re: How to watch a mailing list & repo for patches which affect a certain area of code?","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2016-10-10T19:08:29Z","receivedAt":"2016-10-10T19:08:34Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Mon, Oct 10, 2016 at 11:56 AM, Jason Pyeron <jpyeron@pdinc.us> wrote:\n>> -----Original Message-----\n>> From: Stefan Beller\n>> Sent: Monday, October 10, 2016 14:43\n>>\n>> +cc Xiaolong Ye <xiaolong.ye@intel.com>\n>>\n>> On Sun, Oct 9, 2016 at 2:26 PM, Jason Pyeron <jpyeron@pdinc.us> wrote:\n>> >> -----Original Message-----\n>> >> From: Ian Kelling\n>> >> Sent: Sunday, October 09, 2016 15:03\n>> >>\n>> >> I've got patches in various projects, and I don't have\n>> time to keep up\n>> >> with the mailing list, but I'd like to help out with\n>> >> maintenance of that\n>> >> code, or the functions/files it touches. People don't cc me.\n>> >> I figure I\n>> >> could filter the list, test patches submitted, commits made,\n>> >> mentions of\n>> >> files/functions, build filters based on the code I have in\n>> >> the repo even\n>> >> if it's been moved or changed subsequently. I'm wondering\n>> what other\n>> >> people have implemented already for automation around\n>> this, or general\n>> >> thoughts. Web search is not showing me much.\n>> >>\n>> >\n>> > One thought would be to apply every patch automatically (to\n>> the branches of interest?). Then trigger on the [successful] changed\n>> > code. This would simplify the logic to working on the\n>> source only and not parsing the emails.\n>> >\n>> > -Jason\n>> >\n>>\n>> I think this is currently attempted by some kernel people.\n>> However it is very hard to tell where to apply a patch, as it\n>\n> This is one of the reasons why I use bundles instead of format patch.\n\nOh! That sounds interesting for solving the problem where to apply\na change, but the big disadvantage of bundles to patches is the inability\nto just comment on it with an inline response.  So I assume you follow\na different workflow than git or the kernel do. Which project do you use it\nfor and do you have some documentation/blog that explains that workflow?\n\n\n>\n>> is not formalized.\n>> See the series that was merged at 72ce3ff7b51c\n>> ('xy/format-patch-base'),\n>> which adds a footer to the patch, that tells you where\n>> exactly a patch ought\n>> to be applied.\n>\n> Cant wait for that.\n\nWell it is found in 2.9 and later. Currently the base footer is\nopt-in, e.g. you'd\nneed to convince people to run `git config format.useAutoBase true` or to\nmanually add the base to the patch via `format-patch --base=<commit>`.\n\n>\n>>\n>> The intention behind that series was to have some CI system hooked up\n>> and report failures to the mailing list as well IIUC. Maybe\n>> that helps with\n>> your use case, too?\n>\n> I envisioned that it would try for each head he was interested in.\n>\n\nWell the test system can be smart enough to differentiate between:\n* the patch you sent did not even compile on your base, so why\n   are you sending bogus patches?\n* the patch you sent was fine as you sent it, but in the mean time\n  the target head progressed, and it doesn't compile/test any more.\n  collaboration is hard.\n* or an extension to the prior point: this patch is fine but is broken\n  by the series xyz that is also in flight, please coordinate with\n  name@email.\n"},{"id":"303792","messageId":"52BC7ECD34B54548BE67AE3E51EC1C74@black7","threadId":"44263","inReplyTo":"CAGZ79kb2HWmaW3XpfHRj8vcOStPoQmR_NZe7RCRhw=FnnHbZ8A@mail.gmail.com","subject":"RE: How to watch a mailing list & repo for patches which affect a certain area of code? [OT]","fromName":"Jason Pyeron","fromEmail":"jpyeron@pdinc.us","sentAt":"2016-10-10T19:40:08Z","receivedAt":"2016-10-10T19:40:29Z","isPatch":false,"sender":{"key":"jpyeron@pdinc.us","avatar":"https://gravatar.com/avatar/c2e53452caa53d940768a1ffc9cf76196d851b9b534b7a39cd39852a70a0508f?d=mp&s=160"},"body":"> -----Original Message-----\n> From: Stefan Beller\n> Sent: Monday, October 10, 2016 15:08\n> \n> On Mon, Oct 10, 2016 at 11:56 AM, Jason Pyeron wrote:\n> >> -----Original Message-----\n> >> From: Stefan Beller\n> >> Sent: Monday, October 10, 2016 14:43\n> >>\n> >> +cc Xiaolong Ye <xiaolong.ye@intel.com>\n> >>\n> >> On Sun, Oct 9, 2016 at 2:26 PM, Jason Pyeron wrote:\n> >> >> -----Original Message-----\n> >> >> From: Ian Kelling\n> >> >> Sent: Sunday, October 09, 2016 15:03\n> >> >>\n> >> >> I've got patches in various projects, and I don't have\n> >> time to keep up\n> >> >> with the mailing list, but I'd like to help out with\n> >> >> maintenance of that\n> >> >> code, or the functions/files it touches. People don't cc me.\n> >> >> I figure I\n> >> >> could filter the list, test patches submitted, commits made,\n> >> >> mentions of\n> >> >> files/functions, build filters based on the code I have in\n> >> >> the repo even\n> >> >> if it's been moved or changed subsequently. I'm wondering\n> >> what other\n> >> >> people have implemented already for automation around\n> >> this, or general\n> >> >> thoughts. Web search is not showing me much.\n> >> >>\n> >> >\n> >> > One thought would be to apply every patch automatically (to\n> >> the branches of interest?). Then trigger on the \n> [successful] changed\n> >> > code. This would simplify the logic to working on the\n> >> source only and not parsing the emails.\n> >> >\n> >> > -Jason\n> >> >\n> >>\n> >> I think this is currently attempted by some kernel people.\n> >> However it is very hard to tell where to apply a patch, as it\n> >\n> > This is one of the reasons why I use bundles instead of \n> format patch.\n> \n> Oh! That sounds interesting for solving the problem where to apply\n> a change, but the big disadvantage of bundles to patches is \n> the inability\n> to just comment on it with an inline response. \n\nYep. It is a big one. I have a personal project to add a footer to a format patch with the missing \"binary\" data. The thoughts were for the main cases using a RLE bitmap for the whitespace in the above patch and the remainder of the commit blob data. This would allow minimal duplicate information in the email but pure text changes would be binary perfect so the commit id will still be correct.\n\nSigh, never have enough free time.\n\n> So I assume you follow\n> a different workflow than git or the kernel do. Which project \n> do you use it\n> for and do you have some documentation/blog that explains \n> that workflow?\n\nThis is used when collaborating cross enterprise. In these situations enterprise A will not give access to enterprise B on their CI system, or git repo, etc...\n\nWe all have a mailing list in common (encrypted/signed emails when it contains sensitive info). The rules prevent us from using cloud solutions for almost all of our work.\n\nI have also worked on git for cross domain (tin foil hat time) source code transfer.\n\nAs to a blog, never thought about it. Ask questions on the list and I will help.\n\n> \n> \n> >\n> >> is not formalized.\n> >> See the series that was merged at 72ce3ff7b51c\n> >> ('xy/format-patch-base'),\n> >> which adds a footer to the patch, that tells you where\n> >> exactly a patch ought\n> >> to be applied.\n> >\n> > Cant wait for that.\n> \n> Well it is found in 2.9 and later. Currently the base footer is\n> opt-in, e.g. you'd\n> need to convince people to run `git config format.useAutoBase \n> true` or to\n> manually add the base to the patch via `format-patch --base=<commit>`.\n\nPlease make default in 2.10.2 .\n\n> \n> >\n> >>\n> >> The intention behind that series was to have some CI \n> system hooked up\n> >> and report failures to the mailing list as well IIUC. Maybe\n> >> that helps with\n> >> your use case, too?\n> >\n> > I envisioned that it would try for each head he was interested in.\n> >\n> \n> Well the test system can be smart enough to differentiate between:\n\nFor the OP's case \n\nTest 1: does it cleanly apply to any head, if no for all raise flag.\n\n> * the patch you sent did not even compile on your base, so why\n>    are you sending bogus patches?\n\nTest 2: is it in an area I care about, if not stop.\n\nTest 3: does it compile for clean application, if no for all raise flag.\n\n> * the patch you sent was fine as you sent it, but in the mean time\n>   the target head progressed, and it doesn't compile/test any more.\n>   collaboration is hard.\n\nYes, especially when you have no time, or management is in the way.\n\n> * or an extension to the prior point: this patch is fine but is broken\n>   by the series xyz that is also in flight, please coordinate with\n>   name@email.\n\n"},{"id":"303803","messageId":"1476132560.1716398.751654049.5C8CC9EA@webmail.messagingengine.com","threadId":"44263","inReplyTo":"CAGZ79kb2HWmaW3XpfHRj8vcOStPoQmR_NZe7RCRhw=FnnHbZ8A@mail.gmail.com","subject":"Re: How to watch a mailing list & repo for patches which affect a certain area of code?","fromName":"Ian Kelling","fromEmail":"ian@iankelling.org","sentAt":"2016-10-10T20:49:20Z","receivedAt":"2016-10-10T20:49:25Z","isPatch":false,"sender":{"key":"ian@iankelling.org","avatar":"https://avatars.githubusercontent.com/u/54232?v=4"},"body":"On Mon, Oct 10, 2016, at 12:08 PM, Stefan Beller wrote:\n> Well it is found in 2.9 and later. Currently the base footer is\n> opt-in, e.g. you'd\n> need to convince people to run `git config format.useAutoBase true` or to\n> manually add the base to the patch via `format-patch --base=<commit>`.\n\nNice. Another useful config option this lead me to find is git config\n--global branch.autoSetupMerge always which sets up the remote for local\nbranches, allowing useAutoBase to work for them without extra typing\n(according to the man page, I haven't tried it yet).\n\n"}]}