{"thread":{"id":"26692","subject":"[PATCH 0/2] A couple of tweaks in git-for-each-ref.txt","startedAt":"2011-03-08T13:16:08Z","lastAt":"2011-03-17T20:10:39Z","messageCount":24,"participants":["Alexei Sholik","Michael J Gruber","Junio C Hamano","Jeff King","Will Palmer"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"162987","messageId":"1299590170-30799-1-git-send-email-alcosholik@gmail.com","threadId":"26692","inReplyTo":null,"subject":"[PATCH 0/2] A couple of tweaks in git-for-each-ref.txt","fromName":"Alexei Sholik","fromEmail":"alcosholik@gmail.com","sentAt":"2011-03-08T13:16:08Z","receivedAt":"2011-03-08T13:16:08Z","isPatch":true,"sender":{"key":"alcosholik@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207748?v=4"},"body":"I was reading the man page on git-for-each-ref and noticed a few bugs and missing Authors and Documentation sections.\n\nSorry if I wasn't supposed to add them. I don't know if such editing should be done exclusively by the authors themselves or is it OK for others to do so. Just thought someone overlooked missing sections in the docs for this command.\n\nAlexei Sholik (2):\n  Documentation: remove redundant colons in git-for-each-ref.txt\n  Add Author and Documentation sections to git-for-each-ref.txt\n\n Documentation/git-for-each-ref.txt |   18 +++++++++++++++---\n 1 files changed, 15 insertions(+), 3 deletions(-)\n\n--\n1.7.2.3\n"},{"id":"162988","messageId":"1299590170-30799-2-git-send-email-alcosholik@gmail.com","threadId":"26692","inReplyTo":"1299590170-30799-1-git-send-email-alcosholik@gmail.com","subject":"[PATCH 1/2] Documentation: remove redundant colons in git-for-each-ref.txt","fromName":"Alexei Sholik","fromEmail":"alcosholik@gmail.com","sentAt":"2011-03-08T13:16:09Z","receivedAt":"2011-03-08T13:16:09Z","isPatch":true,"sender":{"key":"alcosholik@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207748?v=4"},"body":"Signed-off-by: Alexei Sholik <alcosholik@gmail.com>\n---\n Documentation/git-for-each-ref.txt |    6 +++---\n 1 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt\nindex fac1cf5..bffb5d2 100644\n--- a/Documentation/git-for-each-ref.txt\n+++ b/Documentation/git-for-each-ref.txt\n@@ -123,7 +123,7 @@ EXAMPLES\n --------\n \n An example directly producing formatted text.  Show the most recent\n-3 tagged commits::\n+3 tagged commits:\n \n ------------\n #!/bin/sh\n@@ -140,7 +140,7 @@ Ref: %(*refname)\n \n \n A simple example showing the use of shell eval on the output,\n-demonstrating the use of --shell.  List the prefixes of all heads::\n+demonstrating the use of --shell.  List the prefixes of all heads:\n ------------\n #!/bin/sh\n \n@@ -154,7 +154,7 @@ done\n \n \n A bit more elaborate report on tags, demonstrating that the format\n-may be an entire script::\n+may be an entire script:\n ------------\n #!/bin/sh\n \n-- \n1.7.2.3\n"},{"id":"162989","messageId":"1299590170-30799-3-git-send-email-alcosholik@gmail.com","threadId":"26692","inReplyTo":"1299590170-30799-1-git-send-email-alcosholik@gmail.com","subject":"[PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Alexei Sholik","fromEmail":"alcosholik@gmail.com","sentAt":"2011-03-08T13:16:10Z","receivedAt":"2011-03-08T13:16:10Z","isPatch":true,"sender":{"key":"alcosholik@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207748?v=4"},"body":"Signed-off-by: Alexei Sholik <alcosholik@gmail.com>\n---\n Documentation/git-for-each-ref.txt |   12 ++++++++++++\n 1 files changed, 12 insertions(+), 0 deletions(-)\n\ndiff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt\nindex bffb5d2..ceef54b 100644\n--- a/Documentation/git-for-each-ref.txt\n+++ b/Documentation/git-for-each-ref.txt\n@@ -204,3 +204,15 @@ eval=`git for-each-ref --shell --format=\"$fmt\" \\\n \trefs/tags`\n eval \"$eval\"\n ------------\n+\n+Author\n+------\n+Written by Junio C Hamano <gitster@pobox.com>.\n+\n+Documentation\n+--------------\n+Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.\n+\n+GIT\n+---\n+Part of the linkgit:git[1] suite\n-- \n1.7.2.3\n"},{"id":"163048","messageId":"4D773279.4020709@drmicha.warpmail.net","threadId":"26692","inReplyTo":"1299590170-30799-2-git-send-email-alcosholik@gmail.com","subject":"Re: [PATCH 1/2] Documentation: remove redundant colons in git-for-each-ref.txt","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-03-09T07:55:37Z","receivedAt":"2011-03-09T07:55:37Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Alexei Sholik venit, vidit, dixit 08.03.2011 14:16:\n> Signed-off-by: Alexei Sholik <alcosholik@gmail.com>\n> ---\n>  Documentation/git-for-each-ref.txt |    6 +++---\n>  1 files changed, 3 insertions(+), 3 deletions(-)\n> \n> diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt\n> index fac1cf5..bffb5d2 100644\n> --- a/Documentation/git-for-each-ref.txt\n> +++ b/Documentation/git-for-each-ref.txt\n> @@ -123,7 +123,7 @@ EXAMPLES\n>  --------\n>  \n>  An example directly producing formatted text.  Show the most recent\n> -3 tagged commits::\n> +3 tagged commits:\n>  \n>  ------------\n>  #!/bin/sh\n> @@ -140,7 +140,7 @@ Ref: %(*refname)\n>  \n>  \n>  A simple example showing the use of shell eval on the output,\n> -demonstrating the use of --shell.  List the prefixes of all heads::\n> +demonstrating the use of --shell.  List the prefixes of all heads:\n>  ------------\n>  #!/bin/sh\n>  \n> @@ -154,7 +154,7 @@ done\n>  \n>  \n>  A bit more elaborate report on tags, demonstrating that the format\n> -may be an entire script::\n> +may be an entire script:\n>  ------------\n>  #!/bin/sh\n>  \n\nMaybe those were meant to be items in a labelled list, but asciidoc\ndoesn't seem to recognize the \"::\" as such here, so I think this change\nis fine.\n\nMichael\n"},{"id":"163049","messageId":"4D773570.4010803@drmicha.warpmail.net","threadId":"26692","inReplyTo":"1299590170-30799-3-git-send-email-alcosholik@gmail.com","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-03-09T08:08:16Z","receivedAt":"2011-03-09T08:08:16Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Alexei Sholik venit, vidit, dixit 08.03.2011 14:16:\n> Signed-off-by: Alexei Sholik <alcosholik@gmail.com>\n> ---\n>  Documentation/git-for-each-ref.txt |   12 ++++++++++++\n>  1 files changed, 12 insertions(+), 0 deletions(-)\n> \n> diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt\n> index bffb5d2..ceef54b 100644\n> --- a/Documentation/git-for-each-ref.txt\n> +++ b/Documentation/git-for-each-ref.txt\n> @@ -204,3 +204,15 @@ eval=`git for-each-ref --shell --format=\"$fmt\" \\\n>  \trefs/tags`\n>  eval \"$eval\"\n>  ------------\n> +\n> +Author\n> +------\n> +Written by Junio C Hamano <gitster@pobox.com>.\n> +\n> +Documentation\n> +--------------\n> +Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.\n> +\n> +GIT\n> +---\n> +Part of the linkgit:git[1] suite\n\n+Evangelisation\n---------------\nJeff King <peff@peff.net>\n\nJust kidding!\n\n(Jeff is the 2nd main f-e-r author, but Junio created it.)\n\nMichael ;)\n"},{"id":"163055","messageId":"AANLkTimyW7CMSkXndHOW9Gbvu124YYT5e-SdGUq3-OGu@mail.gmail.com","threadId":"26692","inReplyTo":"4D773570.4010803@drmicha.warpmail.net","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Alexei Sholik","fromEmail":"alcosholik@gmail.com","sentAt":"2011-03-09T12:14:10Z","receivedAt":"2011-03-09T12:14:10Z","isPatch":true,"sender":{"key":"alcosholik@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207748?v=4"},"body":"On 9 March 2011 10:08, Michael J Gruber <git@drmicha.warpmail.net> wrote:\n> +Evangelisation\n> ---------------\n> Jeff King <peff@peff.net>\n>\n> Just kidding!\n>\n> (Jeff is the 2nd main f-e-r author, but Junio created it.)\n>\n> Michael ;)\n>\n\nI meant no offense. Just ran this command\n\ngit blame -p \"$1\" | awk '$1 ~ /author$/ { print substr($0,\nlength(\"author  \"), length($0)) }' | sort | uniq -c | sort -nr\n\non the for-each-ref.c and saw that Junio had the first place by a\nrelatively large margin.\n\nSimilarly, the git-for-each-ref.txt (I used plain git blame on this\none) has mostly been composed by Junio. Surely, it's not my privilege\nto decide on the list of authors, but I wonder why the original\nauthors haven't claimed their rightful place in the docs.\n\n-- \nBest regards,\nAlexei Sholik\n"},{"id":"163074","messageId":"7vtyfc9iiu.fsf@alter.siamese.dyndns.org","threadId":"26692","inReplyTo":"1299590170-30799-1-git-send-email-alcosholik@gmail.com","subject":"Re: [PATCH 0/2] A couple of tweaks in git-for-each-ref.txt","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-03-09T19:54:33Z","receivedAt":"2011-03-09T19:54:33Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Alexei Sholik <alcosholik@gmail.com> writes:\n\n> I was reading the man page on git-for-each-ref and noticed a few bugs\n> and missing Authors and Documentation sections.\n\nI actually wanted to propose dropping the \"authors\" and \"documentation by\"\nsections from all the pages a few years ago, but didn't push it very far.\nYour patch moves things the other direction, but the result becomes more\nconsistent, so it is a good change nevertheless.\n\nThanks.\n"},{"id":"163077","messageId":"7voc5k9hfy.fsf@alter.siamese.dyndns.org","threadId":"26692","inReplyTo":"4D773570.4010803@drmicha.warpmail.net","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-03-09T20:17:53Z","receivedAt":"2011-03-09T20:17:53Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Michael J Gruber <git@drmicha.warpmail.net> writes:\n\n> Just kidding!\n>\n> (Jeff is the 2nd main f-e-r author, but Junio created it.)\n\nThanks for bringing this up.\n\nIn the very early days (like back when the project was only 12 months old)\nit made sense to record that this and that command were primarily done by\nthat person.  But I don't think it is a good idea anymore.\n\nFor example, format-patch was my invention and all the code was mine back\nwhen it was a script.  Later it was reimplemented in C by Dscho based on\nmy earlier work.  But a large part of the actual implementation was done\nby using the generic revision traversal machinery, whose primary authors\nback then were Linus and me.  The silly original UI design everybody hates\n(\"format-patch <upstream>\" is not similar to 'git log <upstream>..'\") is\n\"owned\" by me, the user facing main() implementation is \"owned\" by Dscho,\nand the backend machinery is \"owned\" by Linus and me.\n\nWho should we list, and more importantly, does it make sense to keep the\nlist up to date as the system evolves?\n\nAs the project and the community grew, and also as the internal machinery\ninfrastructure got more modularized, I think ownership at the individual\ncommand level has become almost meaningless concept.\n\nSame reasoning applies to the \"Documented by\".  I think it's time for\nthese two sections to go from most (if not all) pages.\n"},{"id":"163181","messageId":"20110310223732.GE15828@sigill.intra.peff.net","threadId":"26692","inReplyTo":"7voc5k9hfy.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-03-10T22:37:32Z","receivedAt":"2011-03-10T22:37:32Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Mar 09, 2011 at 12:17:53PM -0800, Junio C Hamano wrote:\n\n> As the project and the community grew, and also as the internal machinery\n> infrastructure got more modularized, I think ownership at the individual\n> command level has become almost meaningless concept.\n> \n> Same reasoning applies to the \"Documented by\".  I think it's time for\n> these two sections to go from most (if not all) pages.\n\nYeah, I would just as soon drop Author and Documented-by fields in all\nmanpages. We could replace them with a single \"Credits\" in git(1). It\ncan either mention nobody, very few people (like Linus as the originator\nand Junio as the long-time maintainer), or the top N (for N < 20 or so)\npeople in shortlog. And then mention that you can run shortlog yourself.\n\nI would probably do something like this:\n\ndiff --git a/Documentation/git.txt b/Documentation/git.txt\nindex 0c32d45..4323843 100644\n--- a/Documentation/git.txt\n+++ b/Documentation/git.txt\n@@ -745,16 +745,10 @@ unmerged version of a file when a merge is in progress.\n \n Authors\n -------\n-* git's founding father is Linus Torvalds <torvalds@osdl.org>.\n-* The current git nurse is Junio C Hamano <gitster@pobox.com>.\n-* The git potty was written by Andreas Ericsson <ae@op5.se>.\n-* General upbringing is handled by the git-list <git@vger.kernel.org>.\n-\n-Documentation\n---------------\n-The documentation for git suite was started by David Greaves\n-<david@dgreaves.com>, and later enhanced greatly by the\n-contributors on the git-list <git@vger.kernel.org>.\n+Git was started by Linus Torvalds, and is currently maintained by Junio\n+C Hamano. Numerous contributions have come from the git mailing list\n+<git@vger.kernel.org>. For a complete list of contributors, see\n+linkgit:git-shortlog[1] and linkgit:git-blame[1].\n \n Reporting Bugs\n --------------\n\nAnd then a follow-on patch to drop the Authors section from all of the\nother pages.\n\n-Peff\n"},{"id":"163188","messageId":"7v4o7a3748.fsf@alter.siamese.dyndns.org","threadId":"26692","inReplyTo":"20110310223732.GE15828@sigill.intra.peff.net","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-03-10T23:09:43Z","receivedAt":"2011-03-10T23:09:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Wed, Mar 09, 2011 at 12:17:53PM -0800, Junio C Hamano wrote:\n>\n>> As the project and the community grew, and also as the internal machinery\n>> infrastructure got more modularized, I think ownership at the individual\n>> command level has become almost meaningless concept.\n>> \n>> Same reasoning applies to the \"Documented by\".  I think it's time for\n>> these two sections to go from most (if not all) pages.\n>\n> Yeah, I would just as soon drop Author and Documented-by fields in all\n> manpages. We could replace them with a single \"Credits\" in git(1). It\n> can either mention nobody, very few people (like Linus as the originator\n> and Junio as the long-time maintainer), or the top N (for N < 20 or so)\n> people in shortlog. And then mention that you can run shortlog yourself.\n\nSounds sensible.\n"},{"id":"163206","messageId":"20110311062041.GA20048@sigill.intra.peff.net","threadId":"26692","inReplyTo":"7v4o7a3748.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-03-11T06:20:41Z","receivedAt":"2011-03-11T06:20:41Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Mar 10, 2011 at 03:09:43PM -0800, Junio C Hamano wrote:\n\n> > Yeah, I would just as soon drop Author and Documented-by fields in all\n> > manpages. We could replace them with a single \"Credits\" in git(1). It\n> > can either mention nobody, very few people (like Linus as the originator\n> > and Junio as the long-time maintainer), or the top N (for N < 20 or so)\n> > people in shortlog. And then mention that you can run shortlog yourself.\n> \n> Sounds sensible.\n\nIf you want to see what the full patch would look like, you can fetch it\nfrom:\n\n  git://github.com/peff/git.git jk/doc-credits\n\nThe patch itself is rather large, so I didn't want to post it. I don't\nknow if we should extract the list of people who are being dropped and\ncheck if they have any objection. You can get a partial list with:\n\n   git show jk/doc-credits^ |\n     grep ^- |\n     perl -lne 'print for /<(.*?)>/g' |\n     sort -u\n\nthough some people are mentioned only by name, not by email.\n\n-Peff\n"},{"id":"163210","messageId":"7vwrk6yt6p.fsf@alter.siamese.dyndns.org","threadId":"26692","inReplyTo":"20110311062041.GA20048@sigill.intra.peff.net","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-03-11T08:09:34Z","receivedAt":"2011-03-11T08:09:34Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Thu, Mar 10, 2011 at 03:09:43PM -0800, Junio C Hamano wrote:\n>\n>> > Yeah, I would just as soon drop Author and Documented-by fields in all\n>> > manpages. We could replace them with a single \"Credits\" in git(1). It\n>> > can either mention nobody, very few people (like Linus as the originator\n>> > and Junio as the long-time maintainer), or the top N (for N < 20 or so)\n>> > people in shortlog. And then mention that you can run shortlog yourself.\n>> \n>> Sounds sensible.\n>\n> If you want to see what the full patch would look like, you can fetch it\n> from:\n>\n>   git://github.com/peff/git.git jk/doc-credits\n>\n> The patch itself is rather large, so I didn't want to post it.\n\nThanks; will immediately queue to 'pu' for wider dissemination.  I think\nthe changes are all sensible. The credits are there in the shortlog, and\nthe contributors' names are displayed at one of the more prominent git\nrelated sites, namely http://git-scm.com/about/, to honor them, so I don't\nthink keeping already stale information on each and every manpage is\nwarranted.\n"},{"id":"163259","messageId":"AANLkTinzJ7C_Eym20Y3rP3d7hiviPBiCAfdwXGFa4P54@mail.gmail.com","threadId":"26692","inReplyTo":"20110310223732.GE15828@sigill.intra.peff.net","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Alexei Sholik","fromEmail":"alcosholik@gmail.com","sentAt":"2011-03-12T09:52:23Z","receivedAt":"2011-03-12T09:52:23Z","isPatch":true,"sender":{"key":"alcosholik@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207748?v=4"},"body":"On 11 March 2011 00:37, Jeff King <peff@peff.net> wrote:\n> -The documentation for git suite was started by David Greaves\n> -<david@dgreaves.com>, and later enhanced greatly by the\n> -contributors on the git-list <git@vger.kernel.org>.\n> +Git was started by Linus Torvalds, and is currently maintained by Junio\n> +C Hamano. Numerous contributions have come from the git mailing list\n> +<git@vger.kernel.org>. For a complete list of contributors, see\n> +linkgit:git-shortlog[1] and linkgit:git-blame[1].\n\nThe last sentence could be a little bit more informative for casual\ngit-users, something like\n  For a complete list of contributors, see http://git-scm.com/about,\nor (if you are a true geek) linkgit:git-shortlog[1] and\nlinkgit:git-blame[1].\n\nOther than that, I totally agree with the idea.\n\n-- \nBest regards,\nAlexei Sholik\n"},{"id":"163276","messageId":"20110313030214.GB10452@sigill.intra.peff.net","threadId":"26692","inReplyTo":"AANLkTinzJ7C_Eym20Y3rP3d7hiviPBiCAfdwXGFa4P54@mail.gmail.com","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-03-13T03:02:14Z","receivedAt":"2011-03-13T03:02:14Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Mar 12, 2011 at 11:52:23AM +0200, Alexei Sholik wrote:\n\n> On 11 March 2011 00:37, Jeff King <peff@peff.net> wrote:\n> > -The documentation for git suite was started by David Greaves\n> > -<david@dgreaves.com>, and later enhanced greatly by the\n> > -contributors on the git-list <git@vger.kernel.org>.\n> > +Git was started by Linus Torvalds, and is currently maintained by Junio\n> > +C Hamano. Numerous contributions have come from the git mailing list\n> > +<git@vger.kernel.org>. For a complete list of contributors, see\n> > +linkgit:git-shortlog[1] and linkgit:git-blame[1].\n> \n> The last sentence could be a little bit more informative for casual\n> git-users, something like\n>   For a complete list of contributors, see http://git-scm.com/about,\n> or (if you are a true geek) linkgit:git-shortlog[1] and\n> linkgit:git-blame[1].\n\nYeah, I was tempted to put in explicit instructions but opted to keep it\nsimple. I forgot about the credits listing at git-scm.com, though. Maybe\nthis on top of my other patches?\n\n-- >8 --\nSubject: [PATCH] docs: point git.txt author credits to git-scm.com\n\nThere is a nice shortlog-ish output of the authors there. We\nalso point people directly to shortlog, but of course they\nmight be reading the documentation online or from a binary\npackage of git.\n\nSigned-off-by: Jeff King <peff@peff.net>\n---\n Documentation/git.txt |    6 ++++--\n 1 files changed, 4 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git.txt b/Documentation/git.txt\nindex 4323843..5e57f69 100644\n--- a/Documentation/git.txt\n+++ b/Documentation/git.txt\n@@ -747,8 +747,10 @@ Authors\n -------\n Git was started by Linus Torvalds, and is currently maintained by Junio\n C Hamano. Numerous contributions have come from the git mailing list\n-<git@vger.kernel.org>. For a complete list of contributors, see\n-linkgit:git-shortlog[1] and linkgit:git-blame[1].\n+<git@vger.kernel.org>. For a more complete list of contributors, see\n+http://git-scm.com/about. If you have a clone of git.git itself, the\n+output of linkgit:git-shortlog[1] and linkgit:git-blame[1] can show you\n+the authors for specific parts of the project.\n \n Reporting Bugs\n --------------\n-- \n1.7.2.5.18.g3ffb9\n"},{"id":"163279","messageId":"7vsjuril5r.fsf@alter.siamese.dyndns.org","threadId":"26692","inReplyTo":"20110313030214.GB10452@sigill.intra.peff.net","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-03-13T06:34:08Z","receivedAt":"2011-03-13T06:34:08Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> Yeah, I was tempted to put in explicit instructions but opted to keep it\n> simple. I forgot about the credits listing at git-scm.com, though. Maybe\n> this on top of my other patches?\n\nLooks sensible.\n\nI see you rebased your jk/doc-credits topic at GitHub but haven't queued\nthis one yet, so I won't be pulling, but give me a holler when the branch\nis ready to be pulled into 'master'.  I'll then push the result out after\nrunning final \"make doc\" check on a few platforms I have and eyeballing\nthe output.\n\nThanks.\n"},{"id":"163280","messageId":"20110313064710.GA13135@sigill.intra.peff.net","threadId":"26692","inReplyTo":"7vsjuril5r.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-03-13T06:47:10Z","receivedAt":"2011-03-13T06:47:10Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Mar 12, 2011 at 10:34:08PM -0800, Junio C Hamano wrote:\n\n> I see you rebased your jk/doc-credits topic at GitHub but haven't queued\n> this one yet, so I won't be pulling, but give me a holler when the branch\n> is ready to be pulled into 'master'.  I'll then push the result out after\n> running final \"make doc\" check on a few platforms I have and eyeballing\n> the output.\n\nIt's pushed now. I rebase my topics aggressively on top of master (which\nyou saw), but I don't always push out regularly. Since my main output is\npatches to the list, in general I assume nobody is actually looking at\nmy topics directly. :) Let me know if some other strategy would be\nbetter[1].\n\nI've done a perfunctory check over the changes, but there are a lot of\nthem, so another set of eyeballs on the output is appreciated.\n\n-Peff\n\n[1] I have mixed feelings about the aggressive rebasing. Our 'master' is\npretty stable, so I don't feel the need to build off the last tagged\nrelease. But rebasing a lot does make it hard for others to follow the\ntopic, and it makes it hard to organize my work with you queue in pu,\nand then merge to 'next' and 'master'. However, I haven't found a\nsatisfactory solution to tracking patches as they move through the\nworkflow of local development, sent to list, and applied upstream.\n\nGit-cherry sort of does this, but patch-ids miss a lot of cases: patches\ntweaked in transit, patches applied on a different commit, or even\npatches taken partially or split up. So I rebase frequently, and as\npatches get picked up in master, the branches dwindle to empty.\nSuggestions welcome if anybody else has figured out something clever.\n\n-Peff\n"},{"id":"163282","messageId":"7vd3lviie7.fsf@alter.siamese.dyndns.org","threadId":"26692","inReplyTo":"20110313064710.GA13135@sigill.intra.peff.net","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-03-13T07:33:52Z","receivedAt":"2011-03-13T07:33:52Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> [1] I have mixed feelings about the aggressive rebasing. Our 'master' is\n> pretty stable, so I don't feel the need to build off the last tagged\n> release.\n\nIn a very busy project (like the kernel), it would make sense to build off\nof the last tagged release when your interaction with the upstream is\nprimarily based on patch exchange. But I think that is primarily because\nthe maintainer and the reviewer do not have to ask \"where does this apply\nto?  It does not apply to my tree; please resend\" if you did so. Because\nour \"master\" does not move so fast, sending a complete patch series based\non any commit that was once at the tip of \"master\" works similarly well,\nespecially because \"am -3\" works well in such an environment if \"master\"\nis never rewound.\n\nBut if your interaction with the upstream is merge based, I think it is\npreferrable to base your fork point as if you are the person at the\nupstream. There is no \"where does this apply to\" at that point, and you\nhave a larger responsibility and say in the final shape of the history.\n\nNamely (I know you know this, and I am writing this primarily for other\npeople on the list):\n\n - an fix would be appropriate to be made on top of the oldest maintenance\n   track that contains the commit that introduced a bug (or even directly\n   on the buggy commit itself), as long as merging up from maint-O to\n   maint-N (O < N) to master is simple enough;\n\n - For enhancement patches that do not deserve to be backported to\n   maintenance branches, \"master\" is a good place to start.\n\nFor this topic, you could have said that this is a documentation bug fix\nand started the topic at the tip of maint, given that this is a fairly\nlow-risk change, and that we haven't added any new file between maint and\nmaster that requires an evil merge to fix up.  Or you can say that this is\nvery minor and not worth fixing in maintenance track to fork from master.\n\n> Git-cherry sort of does this, but patch-ids miss a lot of cases: patches\n> tweaked in transit, patches applied on a different commit, or even\n> patches taken partially or split up. So I rebase frequently, and as\n> patches get picked up in master, the branches dwindle to empty.\n> Suggestions welcome if anybody else has figured out something clever.\n\nA solution to string different iterations of the same patch together,\nperhaps using notes as the storage media, that makes it easier to view the\nchanges between different iterations?  I think Shawn does something like\nthat in Gerrit code review.\n\nWhen I rebase, I tend to keep the base stable (in other words, I don't use\n\"rebase\" in order to change the base, but to rewrite individual patches),\ntoo keep comparison between iterations simpler, but I haven't found a\nsatisfactory solution for such a comparison for changes near the tip of\nlonger series.\n"},{"id":"163285","messageId":"4D7CC629.2020000@drmicha.warpmail.net","threadId":"26692","inReplyTo":"7vd3lviie7.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-03-13T13:27:05Z","receivedAt":"2011-03-13T13:27:05Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Junio C Hamano venit, vidit, dixit 13.03.2011 08:33:\n> Jeff King <peff@peff.net> writes:\n> \n>> [1] I have mixed feelings about the aggressive rebasing. Our 'master' is\n>> pretty stable, so I don't feel the need to build off the last tagged\n>> release.\n> \n> In a very busy project (like the kernel), it would make sense to build off\n> of the last tagged release when your interaction with the upstream is\n> primarily based on patch exchange. But I think that is primarily because\n> the maintainer and the reviewer do not have to ask \"where does this apply\n> to?  It does not apply to my tree; please resend\" if you did so. Because\n> our \"master\" does not move so fast, sending a complete patch series based\n> on any commit that was once at the tip of \"master\" works similarly well,\n> especially because \"am -3\" works well in such an environment if \"master\"\n> is never rewound.\n> \n> But if your interaction with the upstream is merge based, I think it is\n> preferrable to base your fork point as if you are the person at the\n> upstream. There is no \"where does this apply to\" at that point, and you\n> have a larger responsibility and say in the final shape of the history.\n> \n> Namely (I know you know this, and I am writing this primarily for other\n> people on the list):\n> \n>  - an fix would be appropriate to be made on top of the oldest maintenance\n>    track that contains the commit that introduced a bug (or even directly\n>    on the buggy commit itself), as long as merging up from maint-O to\n>    maint-N (O < N) to master is simple enough;\n> \n>  - For enhancement patches that do not deserve to be backported to\n>    maintenance branches, \"master\" is a good place to start.\n> \n> For this topic, you could have said that this is a documentation bug fix\n> and started the topic at the tip of maint, given that this is a fairly\n> low-risk change, and that we haven't added any new file between maint and\n> master that requires an evil merge to fix up.  Or you can say that this is\n> very minor and not worth fixing in maintenance track to fork from master.\n> \n>> Git-cherry sort of does this, but patch-ids miss a lot of cases: patches\n>> tweaked in transit, patches applied on a different commit, or even\n>> patches taken partially or split up. So I rebase frequently, and as\n>> patches get picked up in master, the branches dwindle to empty.\n>> Suggestions welcome if anybody else has figured out something clever.\n> \n> A solution to string different iterations of the same patch together,\n> perhaps using notes as the storage media, that makes it easier to view the\n> changes between different iterations?  I think Shawn does something like\n> that in Gerrit code review.\n> \n> When I rebase, I tend to keep the base stable (in other words, I don't use\n> \"rebase\" in order to change the base, but to rewrite individual patches),\n> too keep comparison between iterations simpler, but I haven't found a\n> satisfactory solution for such a comparison for changes near the tip of\n> longer series.\n> \n\nIn a way it's comforting to know that even long-time contributors like\nJeff haven't found a good workflow for git.git patch lifetime management\nyet. But there's progress, such as \"commit --notes\". I'm also fiddling\nwith refname notes (so you could store the cover-letter as a note to the\nbranch name) and have working code I'll send soon.\n\nAs far as keeping track of patch versions (without topgit) goes I've\nbeen thinking about \"mergy rebase\". Before it sits around any longer,\nI'll include a rough concept below.\n\nAnd sorry for thread hijacking - it wasn't me :)\n\nMichael\n\nSay, you start developping a patch series on a branch \"topic\":\n\n*--A1--B1--C1=topic\n\nThen you rewrite/fixup your series:\n\n*--A2--B2--C2=topic\n\nThe previous versions are lost (in the reflog).\n\nWith a mergy rebase, a rewrite/fixup would produce:\n\n*--A1--B1--C1\n \\  \\   \\   \\\n  ---A2--B2--C2=topic\n\nThat is, \"log --first-parent topic\" would always walk the current\nversion of the topic branch, but the previous one is still accessible:\n\n*--A1--B1--C1\n \\  \\   \\   \\\n  ---A2--B2--C2\n   \\  \\   \\   \\\n    ---A3--B3--C3\n     \\  \\   \\   \\\n      ---A4--B4--C4=topic\n\n\"log --second-parent C4\" will give you the history of the patch C\nthrough the different versions of ypur patch series.\n\n(And yes, I have a WIP for --second-parent.)\n\nDownside is that all those merges are evil, of course. But do not be\nafraid...\n"},{"id":"163531","messageId":"20110317065955.GE11931@sigill.intra.peff.net","threadId":"26692","inReplyTo":"7vd3lviie7.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-03-17T06:59:55Z","receivedAt":"2011-03-17T06:59:55Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Mar 12, 2011 at 11:33:52PM -0800, Junio C Hamano wrote:\n\n> > Git-cherry sort of does this, but patch-ids miss a lot of cases: patches\n> > tweaked in transit, patches applied on a different commit, or even\n> > patches taken partially or split up. So I rebase frequently, and as\n> > patches get picked up in master, the branches dwindle to empty.\n> > Suggestions welcome if anybody else has figured out something clever.\n> \n> A solution to string different iterations of the same patch together,\n> perhaps using notes as the storage media, that makes it easier to view the\n> changes between different iterations?  I think Shawn does something like\n> that in Gerrit code review.\n\nI don't necessarily care about different iterations of the patch on my\nend. Usually when I discard an old version I don't go back to it, and in\nthe rare case that I do, it is simple enough to pull it from the reflog\nor from the mailing list.\n\nWhat I mean is lining up what I have locally (and what I send) with what\nends up in your repository. Which can have arbitrary changes from the\noriginal. I don't think there is a general solution. In theory you could\ntake a single patch of mine, split it into two, then mark up each half.\nI know you have the sense not to do this, but there are simpler cases\nthat still cause problems.\n\nFor example, in my recent trace-sifter series, you took some squashes\nfrom other people on the early bits, and those impacted the text of\nlater bits. So there was no way for patch-id to link up the patches.\n\nRebasing at least faces me with the conflicts over the rewrite, and I\ncan manually check each conflict and say \"OK, it looks like he took my\npatch, but this part had to be rewritten\". And then I can either accept\nyour rewrite (by resolving in favor of you), or I can rework my patch to\ndo what I think should be done on top of yours, and then submit my new\none on top.\n\nI could also use Jay's suggested \"loose patch id\", and link things up by\ncommit author and message. Unless you do something drastic like\nsplitting a patch in two (or merging two patches into one), then I can\ncreate the correlation. But it makes me a little nervous, because the\ncontent of your version may not be the same as mine. And probably I\nshould be reviewing it before throwing away my version in favor of\nyours.\n\n-Peff\n"},{"id":"163561","messageId":"1300371608.16335.1.camel@wpalmer.simply-domain","threadId":"26692","inReplyTo":"AANLkTimyW7CMSkXndHOW9Gbvu124YYT5e-SdGUq3-OGu@mail.gmail.com","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Will Palmer","fromEmail":"wmpalmer@gmail.com","sentAt":"2011-03-17T14:20:08Z","receivedAt":"2011-03-17T14:20:08Z","isPatch":true,"sender":{"key":"wmpalmer@gmail.com","avatar":"https://avatars.githubusercontent.com/u/357044?v=4"},"body":"On Wed, 2011-03-09 at 14:14 +0200, Alexei Sholik wrote:\n> .................. Just ran this command\n> \n> git blame -p \"$1\" | awk '$1 ~ /author$/ { print substr($0,\n> length(\"author  \"), length($0)) }' | sort | uniq -c | sort -nr\n> \n> on the for-each-ref.c and saw that Junio had the first place by a\n> relatively large margin.\n> \n\nWrap that up in a script and submit /that/ as a patch ;)\n"},{"id":"163579","messageId":"20110317193450.GD20508@sigill.intra.peff.net","threadId":"26692","inReplyTo":"1300371608.16335.1.camel@wpalmer.simply-domain","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-03-17T19:34:50Z","receivedAt":"2011-03-17T19:34:50Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Mar 17, 2011 at 02:20:08PM +0000, Will Palmer wrote:\n\n> On Wed, 2011-03-09 at 14:14 +0200, Alexei Sholik wrote:\n> > .................. Just ran this command\n> > \n> > git blame -p \"$1\" | awk '$1 ~ /author$/ { print substr($0,\n> > length(\"author  \"), length($0)) }' | sort | uniq -c | sort -nr\n> > \n> > on the for-each-ref.c and saw that Junio had the first place by a\n> > relatively large margin.\n> > \n> \n> Wrap that up in a script and submit /that/ as a patch ;)\n\nThat just counts the number of commits that have any surviving line in a\ngiven file. So it's slightly better than \"shortlog -ns\" in that it\nremoves commits whose contents have been totally rewritten (and it\nproperly handles content-following). But if you are going to use blame,\nthe more interesting measure is probably a count of lines attributed to\neach author.  Something like:\n\n  git blame -p \"$1\" | perl -ne '\n    if (/^([0-9a-f]{40})/) {\n      $sha1 = $1;\n      $count{$sha1}++;\n    }\n    elsif (/^author (.*)/) {\n      $author{$sha1} = $1;\n    }\n    END {\n      foreach my $sha1 (keys(%count)) {\n        $r{$author{$sha1}} += $count{$sha1};\n      }\n      foreach my $a (sort { $r{$b} <=> $r{$a} } keys(%r)) {\n        print \"$r{$a} $a\\n\";\n      }\n    }\n  '\n\n-Peff\n"},{"id":"163585","messageId":"AANLkTin35yjU-JDA8z4_aRFhV+-_hHiurWjaid8Th919@mail.gmail.com","threadId":"26692","inReplyTo":"20110317193450.GD20508@sigill.intra.peff.net","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Alexei Sholik","fromEmail":"alcosholik@gmail.com","sentAt":"2011-03-17T19:51:55Z","receivedAt":"2011-03-17T19:51:55Z","isPatch":true,"sender":{"key":"alcosholik@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207748?v=4"},"body":"Ah, gmail has cut out the CC list. Below is my reply to a previous\nmessage by Will Palmer.\n\nI think, it would be nice to have a tool, which output all the\ndifferent stats about the repo, maybe even in a gui. But it definitely\ndoesn't belong in the Git project.\n\n--\nBest regards,\nAlexei Sholik\n\n---------- Forwarded message ----------\nFrom: Alexei Sholik <alcosholik@gmail.com>\nDate: 17 March 2011 16:45\nSubject: Re: [PATCH 2/2] Add Author and Documentation sections to\ngit-for-each-ref.txt\nTo: Will Palmer <wmpalmer@gmail.com>\n\nOn 17 March 2011 16:20, Will Palmer <wmpalmer@gmail.com> wrote:\n> On Wed, 2011-03-09 at 14:14 +0200, Alexei Sholik wrote:\n>> .................. Just ran this command\n>>\n>> git blame -p \"$1\" | awk '$1 ~ /author$/ { print substr($0,\n>> length(\"author  \"), length($0)) }' | sort | uniq -c | sort -nr\n>>\n>> on the for-each-ref.c and saw that Junio had the first place by a\n>> relatively large margin.\n>>\n>\n> Wrap that up in a script and submit /that/ as a patch ;)\n>\n>\n\nThis script alone is not very useful. I was thinking about writing a\ncollection of scripts to gather different stats from the repository\nhistory. However, it would be a different project altogether, not a\npart of Git. The Future Git should be portable and shiny ;)\n"},{"id":"163587","messageId":"20110317195459.GA2257@sigill.intra.peff.net","threadId":"26692","inReplyTo":"AANLkTin35yjU-JDA8z4_aRFhV+-_hHiurWjaid8Th919@mail.gmail.com","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2011-03-17T19:54:59Z","receivedAt":"2011-03-17T19:54:59Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Mar 17, 2011 at 09:51:55PM +0200, Alexei Sholik wrote:\n\n> I think, it would be nice to have a tool, which output all the\n> different stats about the repo, maybe even in a gui. But it definitely\n> doesn't belong in the Git project.\n\nCheck out:\n\n  http://gitstats.sourceforge.net/\n\nIt currently doesn't have a lot of per-file stats like this, but I'm\nsure patches are welcome. :)\n\n-Peff\n"},{"id":"163589","messageId":"AANLkTi=Uyem4p=MJ--0d7+r8Dd8rnanDduQ+B_FtSRwV@mail.gmail.com","threadId":"26692","inReplyTo":"20110317195459.GA2257@sigill.intra.peff.net","subject":"Re: [PATCH 2/2] Add Author and Documentation sections to git-for-each-ref.txt","fromName":"Alexei Sholik","fromEmail":"alcosholik@gmail.com","sentAt":"2011-03-17T20:10:39Z","receivedAt":"2011-03-17T20:10:39Z","isPatch":true,"sender":{"key":"alcosholik@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207748?v=4"},"body":"On 17 March 2011 21:54, Jeff King <peff@peff.net> wrote:\n> On Thu, Mar 17, 2011 at 09:51:55PM +0200, Alexei Sholik wrote:\n>\n>> I think, it would be nice to have a tool, which output all the\n>> different stats about the repo, maybe even in a gui. But it definitely\n>> doesn't belong in the Git project.\n>\n> Check out:\n>\n>  http://gitstats.sourceforge.net/\n>\n> It currently doesn't have a lot of per-file stats like this, but I'm\n> sure patches are welcome. :)\n>\n> -Peff\n>\n\nHey thanks! I've just found out that my current project has more png\nfiles than source code files :)\n\nThe tool itself looks rough in terms of the output it produces, but\nI'm definitely going to look at the code more closely. Thanks for the\nhint.\n\n-- \nBest regards,\nAlexei Sholik\n"}]}