{"thread":{"id":"34035","subject":"[PATCH v4 0/7] git send-email suppress-cc=self fixes","startedAt":"2013-06-05T18:10:49Z","lastAt":"2013-06-10T08:59:33Z","messageCount":8,"participants":["Michael S. Tsirkin","Junio C Hamano","John Keeping"],"isPatch":true,"patchVersion":4,"patchTotal":7},"messages":[{"id":"219465","messageId":"1370455737-29986-1-git-send-email-mst@redhat.com","threadId":"34035","inReplyTo":null,"subject":"[PATCH v4 0/7] git send-email suppress-cc=self fixes","fromName":"Michael S. Tsirkin","fromEmail":"mst@redhat.com","sentAt":"2013-06-05T18:10:49Z","receivedAt":"2013-06-05T18:10:49Z","isPatch":true,"sender":{"key":"mst@kernel.org","avatar":null},"body":"This includes bugfixes related to handling of --suppress-cc=self\nflag. Tests are also included.\n\nChanges from v3:\n\t- v3 submission was missing one patch (1/7). Re-add it.\nChanges from v2:\n\t- add a new test, split patches differently add code comments\n\t\t to address comments by Junio\n\t- rename example addresses in tests from redhat.com to example.com\nChanges from v1:\n        - tweak coding style in tests to address comments by Junio\n\nMichael S. Tsirkin (7):\n  t/send-email.sh: add test for suppress-cc=self\n  send-email: fix suppress-cc=self on cccmd\n  t/send-email: test suppress-cc=self on cccmd\n  send-email: make --suppress-cc=self sanitize input\n  t/send-email: add test with quoted sender\n  t/send-email: test suppress-cc=self with non-ascii\n  test-send-email: test for pre-sanitized self name\n\n git-send-email.perl   | 23 ++++++++++------\n t/t9001-send-email.sh | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++\n 2 files changed, 90 insertions(+), 8 deletions(-)\n\n-- \nMST\n"},{"id":"219468","messageId":"7v8v2o1ho7.fsf@alter.siamese.dyndns.org","threadId":"34035","inReplyTo":"1370455737-29986-1-git-send-email-mst@redhat.com","subject":"Re: [PATCH v4 0/7] git send-email suppress-cc=self fixes","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-06-05T19:28:08Z","receivedAt":"2013-06-05T19:28:08Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Michael S. Tsirkin\" <mst@redhat.com> writes:\n\n> This includes bugfixes related to handling of --suppress-cc=self\n> flag. Tests are also included.\n>\n> Changes from v3:\n> \t- v3 submission was missing one patch (1/7). Re-add it.\n> Changes from v2:\n> \t- add a new test, split patches differently add code comments\n> \t\t to address comments by Junio\n> \t- rename example addresses in tests from redhat.com to example.com\n> Changes from v1:\n>         - tweak coding style in tests to address comments by Junio\n\nNice.  This round cleanly applies and the interdiff since v2 looked\nsensible.\n\nWill replace and merge to 'next' shortly.\n\nThanks.\n\n>\n> Michael S. Tsirkin (7):\n>   t/send-email.sh: add test for suppress-cc=self\n>   send-email: fix suppress-cc=self on cccmd\n>   t/send-email: test suppress-cc=self on cccmd\n>   send-email: make --suppress-cc=self sanitize input\n>   t/send-email: add test with quoted sender\n>   t/send-email: test suppress-cc=self with non-ascii\n>   test-send-email: test for pre-sanitized self name\n>\n>  git-send-email.perl   | 23 ++++++++++------\n>  t/t9001-send-email.sh | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++\n>  2 files changed, 90 insertions(+), 8 deletions(-)\n"},{"id":"219471","messageId":"20130605201423.GB31143@redhat.com","threadId":"34035","inReplyTo":"7v8v2o1ho7.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v4 0/7] git send-email suppress-cc=self fixes","fromName":"Michael S. Tsirkin","fromEmail":"mst@redhat.com","sentAt":"2013-06-05T20:14:23Z","receivedAt":"2013-06-05T20:14:23Z","isPatch":true,"sender":{"key":"mst@kernel.org","avatar":null},"body":"On Wed, Jun 05, 2013 at 12:28:08PM -0700, Junio C Hamano wrote:\n> \"Michael S. Tsirkin\" <mst@redhat.com> writes:\n> \n> > This includes bugfixes related to handling of --suppress-cc=self\n> > flag. Tests are also included.\n> >\n> > Changes from v3:\n> > \t- v3 submission was missing one patch (1/7). Re-add it.\n> > Changes from v2:\n> > \t- add a new test, split patches differently add code comments\n> > \t\t to address comments by Junio\n> > \t- rename example addresses in tests from redhat.com to example.com\n> > Changes from v1:\n> >         - tweak coding style in tests to address comments by Junio\n> \n> Nice.  This round cleanly applies and the interdiff since v2 looked\n> sensible.\n> \n> Will replace and merge to 'next' shortly.\n> \n> Thanks.\n\nWellcome.\n\nWith respect to this, and a bit off-topic, what's\nthe best way to revise patch series?\n\nWhat I did, given series in patchvN-1/:\n\n\trm -fr patchvN #blow away old directory if there\n\t\t\t# otherwise I get two copies of patches if I renamed any\n\tgit branch|fgrep '*'\n\t# Figure out on which branch I am, manually specify the correct upstream I'm tracking,\n\t# otherwise I get a ton of unrelated patches.\n\tgit format-patch --cover --subject-prefix='PATCH vN' -o patchvN origin/master..\n\n\tvi patchvN/0000* patchvN-1/0000*\n\n\t#manually copy subject, Cc list and text from vN-1 to vN cover letter,\n\t#leave stats intact.\n\n\tgit log origin/master.. |grep -e Cc: -e Reviewed -e Acked\n\t# manually Look who reviewed/acked all patches in previous versions -\n\t# if so copy them on cover letter too.\n\n\tgit send-email --cc=junio patchvN/*\n\nlots of manual steps here.\nAny ways to automate?\n\n\n> >\n> > Michael S. Tsirkin (7):\n> >   t/send-email.sh: add test for suppress-cc=self\n> >   send-email: fix suppress-cc=self on cccmd\n> >   t/send-email: test suppress-cc=self on cccmd\n> >   send-email: make --suppress-cc=self sanitize input\n> >   t/send-email: add test with quoted sender\n> >   t/send-email: test suppress-cc=self with non-ascii\n> >   test-send-email: test for pre-sanitized self name\n> >\n> >  git-send-email.perl   | 23 ++++++++++------\n> >  t/t9001-send-email.sh | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++\n> >  2 files changed, 90 insertions(+), 8 deletions(-)\n"},{"id":"220212","messageId":"7vy5ain9yg.fsf@alter.siamese.dyndns.org","threadId":"34035","inReplyTo":"20130605201423.GB31143@redhat.com","subject":"Re: [PATCH v4 0/7] git send-email suppress-cc=self fixes","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-06-09T23:25:11Z","receivedAt":"2013-06-09T23:25:11Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Michael S. Tsirkin\" <mst@redhat.com> writes:\n\n> With respect to this, and a bit off-topic, what's\n> the best way to revise patch series?\n>\n> What I did, given series in patchvN-1/:\n>\n> \trm -fr patchvN #blow away old directory if there\n> \t\t\t# otherwise I get two copies of patches if I renamed any\n\nNot needed with recent \"git format-patch -v4\" option.\n\n> \tgit branch|fgrep '*'\n> \t# Figure out on which branch I am, manually specify the correct upstream I'm tracking,\n> \t# otherwise I get a ton of unrelated patches.\n\ngit-prompt with PS1 you do not need this either.\n\n> \tgit format-patch --cover --subject-prefix='PATCH vN' -o patchvN origin/master..\n\nAgain, \"git format-patch -v4 -o mt-send-email\" will deposit the new\nones alongside the older round.\n\n> \tvi patchvN/0000* patchvN-1/0000*\n\nSame (i.e. \"vi mt-send-email/v*-0000-*.txt).\n"},{"id":"220243","messageId":"20130610065324.GA26501@redhat.com","threadId":"34035","inReplyTo":"7vy5ain9yg.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v4 0/7] git send-email suppress-cc=self fixes","fromName":"Michael S. Tsirkin","fromEmail":"mst@redhat.com","sentAt":"2013-06-10T06:53:24Z","receivedAt":"2013-06-10T06:53:24Z","isPatch":true,"sender":{"key":"mst@kernel.org","avatar":null},"body":"On Sun, Jun 09, 2013 at 04:25:11PM -0700, Junio C Hamano wrote:\n> \"Michael S. Tsirkin\" <mst@redhat.com> writes:\n> \n> > With respect to this, and a bit off-topic, what's\n> > the best way to revise patch series?\n> >\n> > What I did, given series in patchvN-1/:\n> >\n> > \trm -fr patchvN #blow away old directory if there\n> > \t\t\t# otherwise I get two copies of patches if I renamed any\n> \n> Not needed with recent \"git format-patch -v4\" option.\n\nUnless I rerun with same vX :(\nWould it make sense for it to check for vX existance and fail?\nSame without -vX, when 000X exists ...\nCould be an option.\n\n> > \tgit branch|fgrep '*'\n> > \t# Figure out on which branch I am, manually specify the correct upstream I'm tracking,\n> > \t# otherwise I get a ton of unrelated patches.\n> \n> git-prompt with PS1 you do not need this either.\n\ngrep serves just as well but\nI still need to copy it to the next line manually...\n\nI vaguely remember there was some way to say\n\"head of the remote I am tracking\" - but I could not find it.\nWhere are all the tricks like foo^{} documented?\nI tried fgrep '{}' Documentation/*txt and it only returned\ngit-show-ref.txt which isn't really informative ...\n\nAdditionally, or alternatively, would it make sense for git format-patch\nto format the diff against the tracking branch by default?\n\n> > \tgit format-patch --cover --subject-prefix='PATCH vN' -o patchvN origin/master..\n> \n> Again, \"git format-patch -v4 -o mt-send-email\" will deposit the new\n> ones alongside the older round.\n> \n> > \tvi patchvN/0000* patchvN-1/0000*\n> \n> Same (i.e. \"vi mt-send-email/v*-0000-*.txt).\n\nI still need to copy subject, Cc list and blurb to the next line manually.\nNow that there's a concept of revisions,\nmaybe git format-patch -v4 could copy the text\nand subject from v3?\n\n-- \nMST\n"},{"id":"220247","messageId":"20130610072931.GH22905@serenity.lan","threadId":"34035","inReplyTo":"20130610065324.GA26501@redhat.com","subject":"Re: [PATCH v4 0/7] git send-email suppress-cc=self fixes","fromName":"John Keeping","fromEmail":"john@keeping.me.uk","sentAt":"2013-06-10T07:29:31Z","receivedAt":"2013-06-10T07:29:31Z","isPatch":true,"sender":{"key":"john@keeping.me.uk","avatar":"https://avatars.githubusercontent.com/u/1702081?v=4"},"body":"On Mon, Jun 10, 2013 at 09:53:24AM +0300, Michael S. Tsirkin wrote:\n> I vaguely remember there was some way to say\n> \"head of the remote I am tracking\" - but I could not find it.\n> Where are all the tricks like foo^{} documented?\n\ngitrevisions(7) is what you're looking for here.\n\nIn this case I think you want '@{upstream}' or its short form '@{u}'.\n\n> I tried fgrep '{}' Documentation/*txt and it only returned\n> git-show-ref.txt which isn't really informative ...\n\n'{' and '}' need to be escaped in AsciiDoc so you have to grep for\n'\\\\{\\\\}'.\n"},{"id":"220253","messageId":"7vk3m2l7w3.fsf@alter.siamese.dyndns.org","threadId":"34035","inReplyTo":"20130610065324.GA26501@redhat.com","subject":"Re: [PATCH v4 0/7] git send-email suppress-cc=self fixes","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-06-10T07:52:44Z","receivedAt":"2013-06-10T07:52:44Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Michael S. Tsirkin\" <mst@redhat.com> writes:\n\n>> Not needed with recent \"git format-patch -v4\" option.\n>\n> Unless I rerun with same vX :(\n> Would it make sense for it to check for vX existance and fail?\n> Same without -vX, when 000X exists ...\n> Could be an option.\n\nOh, instead of exact -v$N, trigger it with \"-v auto\" or something?\nSounds like a good addition.\n\nAnd instead of ***BLURBHERE*** placeholder, text from old round\ncould be copied as a new placeholder.  I do not offhand think that\nneeds much thought about compatibility but maybe there are people\nwho trained their editors or scripts to find the known placeholder\nstring and edit it?  I dunno.  It certainly sounds like a sensible\nthing to do to carry as much information forward from the older\nround if/when we know which one corresponds to which.\n\nDiscussions and patches welcome.\n\n>> > \tgit branch|fgrep '*'\n>> > \t# Figure out on which branch I am, manually specify the correct upstream I'm tracking,\n>> > \t# otherwise I get a ton of unrelated patches.\n>> \n>> git-prompt with PS1 you do not need this either.\n>\n> grep serves just as well but\n> I still need to copy it to the next line manually...\n>\n> I vaguely remember there was some way to say\n> \"head of the remote I am tracking\" - but I could not find it.\n\nDo you mean @{upstream}?\n\n> Where are all the tricks like foo^{} documented?\n\nDocumentation/revisions.txt?\n\n> Additionally, or alternatively, would it make sense for git format-patch\n> to format the diff against the tracking branch by default?\n\nMeaning \"git format-patch @{u}\" without saying anything about @{u}?\nI am not sure if we want to go that far, but it certainly is worth a\nthought.\n"},{"id":"220264","messageId":"20130610085933.GA2233@redhat.com","threadId":"34035","inReplyTo":"20130610072931.GH22905@serenity.lan","subject":"Re: [PATCH v4 0/7] git send-email suppress-cc=self fixes","fromName":"Michael S. Tsirkin","fromEmail":"mst@redhat.com","sentAt":"2013-06-10T08:59:33Z","receivedAt":"2013-06-10T08:59:33Z","isPatch":true,"sender":{"key":"mst@kernel.org","avatar":null},"body":"On Mon, Jun 10, 2013 at 08:29:31AM +0100, John Keeping wrote:\n> On Mon, Jun 10, 2013 at 09:53:24AM +0300, Michael S. Tsirkin wrote:\n> > I vaguely remember there was some way to say\n> > \"head of the remote I am tracking\" - but I could not find it.\n> > Where are all the tricks like foo^{} documented?\n> \n> gitrevisions(7) is what you're looking for here.\n\nI see. And git(1) actually points to it.\nThanks!\n\n> In this case I think you want '@{upstream}' or its short form '@{u}'.\n> \n> > I tried fgrep '{}' Documentation/*txt and it only returned\n> > git-show-ref.txt which isn't really informative ...\n> \n> '{' and '}' need to be escaped in AsciiDoc so you have to grep for\n> '\\\\{\\\\}'.\n"}]}