Re: [PATCH] git send-email: include [anything]-by: signatures
On Tue, Sep 03, 2013 at 02:39:05PM -0700, Junio C Hamano wrote: > Jeff King writes: > > > On Wed, Sep 04, 2013 at 12:01:49AM +0300, Michael S. Tsirkin wrote: > > > >> > The question of course is the first point Peff raised. I am not > >> > sure offhand what the right per-project customization interface > >> > would be. A starting point might be something like: > >> > > >> > --cc-trailer=signed-off-by,acked-by,reviewed-by > >> > >> tested-by, reported-by ... > > > > Yeah, I think having the list customizable is nice, but not allowing > > some pattern matching seems unfriendly, as it requires the user to > > enumerate a potentially long list. > > > >> > --cc-trailer='*-by' > >> > > >> > and an obvious configuration variable that gives the default for it. > >> > That would eventually allow us not to special case any fixed set of > >> > trailers like S-o-b like the current code does, which would be a big > >> > plus. > >> > >> What bothers me is that git normally uses gawk based patterns, > >> but send-email is in perl so it has a different syntax for regexp. > >> What do you suggest? Make a small binary to do the matching for us? > > > > Would fnmatch-style globbing (like "*-by") be enough? That should be > > easy to do in perl. > > Web query finds File::FnMatch; I do not know if that is the most > commonly used, or if it comes with the base distribution, though. It's also just a wrapper for the system's fnmatch - so I expect it doesn't work in the mingw environment. -- MST -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git send-email: include [anything]-by: signatures
Jeff King writes: > On Wed, Sep 04, 2013 at 12:01:49AM +0300, Michael S. Tsirkin wrote: > >> > The question of course is the first point Peff raised. I am not >> > sure offhand what the right per-project customization interface >> > would be. A starting point might be something like: >> > >> >--cc-trailer=signed-off-by,acked-by,reviewed-by >> >> tested-by, reported-by ... > > Yeah, I think having the list customizable is nice, but not allowing > some pattern matching seems unfriendly, as it requires the user to > enumerate a potentially long list. > >> >--cc-trailer='*-by' >> > >> > and an obvious configuration variable that gives the default for it. >> > That would eventually allow us not to special case any fixed set of >> > trailers like S-o-b like the current code does, which would be a big >> > plus. >> >> What bothers me is that git normally uses gawk based patterns, >> but send-email is in perl so it has a different syntax for regexp. >> What do you suggest? Make a small binary to do the matching for us? > > Would fnmatch-style globbing (like "*-by") be enough? That should be > easy to do in perl. Web query finds File::FnMatch; I do not know if that is the most commonly used, or if it comes with the base distribution, though. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git send-email: include [anything]-by: signatures
On Tue, Sep 03, 2013 at 05:03:52PM -0400, Jeff King wrote: > On Wed, Sep 04, 2013 at 12:01:49AM +0300, Michael S. Tsirkin wrote: > > > > The question of course is the first point Peff raised. I am not > > > sure offhand what the right per-project customization interface > > > would be. A starting point might be something like: > > > > > > --cc-trailer=signed-off-by,acked-by,reviewed-by > > > > tested-by, reported-by ... > > Yeah, I think having the list customizable is nice, but not allowing > some pattern matching seems unfriendly, as it requires the user to > enumerate a potentially long list. > > > > --cc-trailer='*-by' > > > > > > and an obvious configuration variable that gives the default for it. > > > That would eventually allow us not to special case any fixed set of > > > trailers like S-o-b like the current code does, which would be a big > > > plus. > > > > What bothers me is that git normally uses gawk based patterns, > > but send-email is in perl so it has a different syntax for regexp. > > What do you suggest? Make a small binary to do the matching for us? > > Would fnmatch-style globbing (like "*-by") be enough? That should be > easy to do in perl. > > -Peff If you mean only support * - that would be easy. Once you get into bracket expressions it gets messy quickly http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html#tag_09_03_05 -- MST -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git send-email: include [anything]-by: signatures
On Wed, Sep 04, 2013 at 12:01:49AM +0300, Michael S. Tsirkin wrote: > > The question of course is the first point Peff raised. I am not > > sure offhand what the right per-project customization interface > > would be. A starting point might be something like: > > > > --cc-trailer=signed-off-by,acked-by,reviewed-by > > tested-by, reported-by ... Yeah, I think having the list customizable is nice, but not allowing some pattern matching seems unfriendly, as it requires the user to enumerate a potentially long list. > > --cc-trailer='*-by' > > > > and an obvious configuration variable that gives the default for it. > > That would eventually allow us not to special case any fixed set of > > trailers like S-o-b like the current code does, which would be a big > > plus. > > What bothers me is that git normally uses gawk based patterns, > but send-email is in perl so it has a different syntax for regexp. > What do you suggest? Make a small binary to do the matching for us? Would fnmatch-style globbing (like "*-by") be enough? That should be easy to do in perl. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git send-email: include [anything]-by: signatures
On Tue, Sep 03, 2013 at 10:06:19AM -0700, Junio C Hamano wrote: > "Michael S. Tsirkin" writes: > > > On Tue, Sep 03, 2013 at 02:35:35AM -0400, Jeff King wrote: > >> On Sat, Aug 31, 2013 at 10:22:50PM +0300, Michael S. Tsirkin wrote: > >> > >> > On Mon, Aug 26, 2013 at 07:57:47PM +0300, Michael S. Tsirkin wrote: > >> > > Consider [anything]-by: a valid signature. > >> > > This includes Tested-by: Acked-by: Reviewed-by: etc. > >> > > > >> > > Signed-off-by: Michael S. Tsirkin > >> > > >> > Ping. > >> > Any opinion on whether this change is acceptable? > >> > >> I was left confused by your commit message, as it wasn't clear to me > >> what a "signature" is. But the point of it seems to be that people > >> mention others in commit messages using "X-by:" pseudo-headers besides > >> "signed-off-by", and you want to cc them along with the usual S-O-B. > >> > >> That seems like a reasonable goal, but I have two concerns. > >> > >> One, I would think the utility of this would be per-project, depending > >> on what sorts of things people in a particular project put in > >> pseudo-headers. Grepping the kernel history shows that most X-by > >> headers have a person on the right-hand side, though quite often it is > >> not a valid email address (on the other hand, quite a few s-o-b lines in > >> the kernel do not have a valid email). > >> > >> And two, the existing options for enabling/disabling this code all > >> explicitly mention signed-off-by, which becomes awkward. You did not > >> update the documentation in your patch, but I think you would end up > >> having to explain that "--supress-cc=sob" and "--signed-off-by-cc" > >> really mean "all pseudo-header lines ending in -by". > >> > >> So I think it might be a nicer approach to introduce a new "suppress-cc" > >> class that means "all pseudo-header tokens ending in -by" or similar. > >> We might even want the new behavior on by default, but it would at least > >> give the user an escape hatch if their project generates a lot of false > >> positives. > >> > >> -Peff > > > > I guess there's always cccmd, no? > > I am having a hard time deciphering what this response means. Are > you suggesting that people can use cccmd to do what your patch > wants to do, so the patch is not needed? > > I tend to agree with Peff that it is a reasonable goal to allow more > than just the fixed set of trailers to be used as a source to decide > whom to Cc, and if it can be generic enough, it would make sense to > supply users such support so that various projects do not have to > invent their own. > > The question of course is the first point Peff raised. I am not > sure offhand what the right per-project customization interface > would be. A starting point might be something like: > > --cc-trailer=signed-off-by,acked-by,reviewed-by tested-by, reported-by ... > or even > > --cc-trailer='*-by' > > and an obvious configuration variable that gives the default for it. > That would eventually allow us not to special case any fixed set of > trailers like S-o-b like the current code does, which would be a big > plus. What bothers me is that git normally uses gawk based patterns, but send-email is in perl so it has a different syntax for regexp. What do you suggest? Make a small binary to do the matching for us? -- MST -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git send-email: include [anything]-by: signatures
"Michael S. Tsirkin" writes: > On Tue, Sep 03, 2013 at 02:35:35AM -0400, Jeff King wrote: >> On Sat, Aug 31, 2013 at 10:22:50PM +0300, Michael S. Tsirkin wrote: >> >> > On Mon, Aug 26, 2013 at 07:57:47PM +0300, Michael S. Tsirkin wrote: >> > > Consider [anything]-by: a valid signature. >> > > This includes Tested-by: Acked-by: Reviewed-by: etc. >> > > >> > > Signed-off-by: Michael S. Tsirkin >> > >> > Ping. >> > Any opinion on whether this change is acceptable? >> >> I was left confused by your commit message, as it wasn't clear to me >> what a "signature" is. But the point of it seems to be that people >> mention others in commit messages using "X-by:" pseudo-headers besides >> "signed-off-by", and you want to cc them along with the usual S-O-B. >> >> That seems like a reasonable goal, but I have two concerns. >> >> One, I would think the utility of this would be per-project, depending >> on what sorts of things people in a particular project put in >> pseudo-headers. Grepping the kernel history shows that most X-by >> headers have a person on the right-hand side, though quite often it is >> not a valid email address (on the other hand, quite a few s-o-b lines in >> the kernel do not have a valid email). >> >> And two, the existing options for enabling/disabling this code all >> explicitly mention signed-off-by, which becomes awkward. You did not >> update the documentation in your patch, but I think you would end up >> having to explain that "--supress-cc=sob" and "--signed-off-by-cc" >> really mean "all pseudo-header lines ending in -by". >> >> So I think it might be a nicer approach to introduce a new "suppress-cc" >> class that means "all pseudo-header tokens ending in -by" or similar. >> We might even want the new behavior on by default, but it would at least >> give the user an escape hatch if their project generates a lot of false >> positives. >> >> -Peff > > I guess there's always cccmd, no? I am having a hard time deciphering what this response means. Are you suggesting that people can use cccmd to do what your patch wants to do, so the patch is not needed? I tend to agree with Peff that it is a reasonable goal to allow more than just the fixed set of trailers to be used as a source to decide whom to Cc, and if it can be generic enough, it would make sense to supply users such support so that various projects do not have to invent their own. The question of course is the first point Peff raised. I am not sure offhand what the right per-project customization interface would be. A starting point might be something like: --cc-trailer=signed-off-by,acked-by,reviewed-by or even --cc-trailer='*-by' and an obvious configuration variable that gives the default for it. That would eventually allow us not to special case any fixed set of trailers like S-o-b like the current code does, which would be a big plus. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git send-email: include [anything]-by: signatures
On Tue, Sep 03, 2013 at 02:35:35AM -0400, Jeff King wrote: > On Sat, Aug 31, 2013 at 10:22:50PM +0300, Michael S. Tsirkin wrote: > > > On Mon, Aug 26, 2013 at 07:57:47PM +0300, Michael S. Tsirkin wrote: > > > Consider [anything]-by: a valid signature. > > > This includes Tested-by: Acked-by: Reviewed-by: etc. > > > > > > Signed-off-by: Michael S. Tsirkin > > > > Ping. > > Any opinion on whether this change is acceptable? > > I was left confused by your commit message, as it wasn't clear to me > what a "signature" is. But the point of it seems to be that people > mention others in commit messages using "X-by:" pseudo-headers besides > "signed-off-by", and you want to cc them along with the usual S-O-B. > > That seems like a reasonable goal, but I have two concerns. > > One, I would think the utility of this would be per-project, depending > on what sorts of things people in a particular project put in > pseudo-headers. Grepping the kernel history shows that most X-by > headers have a person on the right-hand side, though quite often it is > not a valid email address (on the other hand, quite a few s-o-b lines in > the kernel do not have a valid email). > > And two, the existing options for enabling/disabling this code all > explicitly mention signed-off-by, which becomes awkward. You did not > update the documentation in your patch, but I think you would end up > having to explain that "--supress-cc=sob" and "--signed-off-by-cc" > really mean "all pseudo-header lines ending in -by". > > So I think it might be a nicer approach to introduce a new "suppress-cc" > class that means "all pseudo-header tokens ending in -by" or similar. > We might even want the new behavior on by default, but it would at least > give the user an escape hatch if their project generates a lot of false > positives. > > -Peff I guess there's always cccmd, no? -- MST -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git send-email: include [anything]-by: signatures
On Sat, Aug 31, 2013 at 10:22:50PM +0300, Michael S. Tsirkin wrote: > On Mon, Aug 26, 2013 at 07:57:47PM +0300, Michael S. Tsirkin wrote: > > Consider [anything]-by: a valid signature. > > This includes Tested-by: Acked-by: Reviewed-by: etc. > > > > Signed-off-by: Michael S. Tsirkin > > Ping. > Any opinion on whether this change is acceptable? I was left confused by your commit message, as it wasn't clear to me what a "signature" is. But the point of it seems to be that people mention others in commit messages using "X-by:" pseudo-headers besides "signed-off-by", and you want to cc them along with the usual S-O-B. That seems like a reasonable goal, but I have two concerns. One, I would think the utility of this would be per-project, depending on what sorts of things people in a particular project put in pseudo-headers. Grepping the kernel history shows that most X-by headers have a person on the right-hand side, though quite often it is not a valid email address (on the other hand, quite a few s-o-b lines in the kernel do not have a valid email). And two, the existing options for enabling/disabling this code all explicitly mention signed-off-by, which becomes awkward. You did not update the documentation in your patch, but I think you would end up having to explain that "--supress-cc=sob" and "--signed-off-by-cc" really mean "all pseudo-header lines ending in -by". So I think it might be a nicer approach to introduce a new "suppress-cc" class that means "all pseudo-header tokens ending in -by" or similar. We might even want the new behavior on by default, but it would at least give the user an escape hatch if their project generates a lot of false positives. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git send-email: include [anything]-by: signatures
On Mon, Aug 26, 2013 at 07:57:47PM +0300, Michael S. Tsirkin wrote: > Consider [anything]-by: a valid signature. > This includes Tested-by: Acked-by: Reviewed-by: etc. > > Signed-off-by: Michael S. Tsirkin Ping. Any opinion on whether this change is acceptable? > --- > git-send-email.perl | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/git-send-email.perl b/git-send-email.perl > index ecbf56f..bb9093b 100755 > --- a/git-send-email.perl > +++ b/git-send-email.perl > @@ -1359,7 +1359,7 @@ foreach my $t (@files) { > # Now parse the message body > while(<$fh>) { > $message .= $_; > - if (/^(Signed-off-by|Cc): (.*)$/i) { > + if (/^([A-Za-z-]*-by|Cc): (.*)$/i) { > chomp; > my ($what, $c) = ($1, $2); > chomp $c; > -- > MST > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] git send-email: include [anything]-by: signatures
Consider [anything]-by: a valid signature. This includes Tested-by: Acked-by: Reviewed-by: etc. Signed-off-by: Michael S. Tsirkin --- git-send-email.perl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-send-email.perl b/git-send-email.perl index ecbf56f..bb9093b 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1359,7 +1359,7 @@ foreach my $t (@files) { # Now parse the message body while(<$fh>) { $message .= $_; - if (/^(Signed-off-by|Cc): (.*)$/i) { + if (/^([A-Za-z-]*-by|Cc): (.*)$/i) { chomp; my ($what, $c) = ($1, $2); chomp $c; -- MST -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html