{"thread":{"id":"14591","subject":"Computing the number of patches in linux-next tree","startedAt":"2008-07-22T16:19:30Z","lastAt":"2008-07-22T18:23:28Z","messageCount":6,"participants":["Tony Luck","Johannes Schindelin","Junio C Hamano","Luck, Tony","Harvey Harrison"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"84329","messageId":"12c511ca0807220919q4db6ee1fr33dc70fe35c58efe@mail.gmail.com","threadId":"14591","inReplyTo":null,"subject":"Computing the number of patches in linux-next tree","fromName":"Tony Luck","fromEmail":"tony.luck@intel.com","sentAt":"2008-07-22T16:19:30Z","receivedAt":"2008-07-22T16:19:30Z","isPatch":false,"sender":{"key":"tony.luck@intel.com","avatar":"https://avatars.githubusercontent.com/u/5446021?v=4"},"body":"I tried to produce a graph of the pending avalanche of patches\nsitting in the linux-next tree and came up with this:\n\ngit tag | grep next- | sort | while read tag\ndo\n        c=$(git-rev-list --no-merges $tag ^linus | wc -l)\n\n        echo ${tag##next-} $c\ndone\n\nWhere \"linus\" is a branch that tracks Linus' tree.  But this gets the\nwrong count\nfor old tags because maintainers who use the topic-branch method have\nexactly the same commits in linux-next as eventually end up in Linus ... so\nonce Linus pulls these trees, the historical counts change.\n\nWhat I really need at this point is the commit from Linus tree that Stephen\nuses as the basis for each next-* tag.  I.e. change the loop body to\n\n       base=`git-where-did-this-tag-branch-from-linus $tag`\n       c=$(git-rev-list --no-merges $tag ^$base | wc -l)\n\nIs this the right way to do this?\nWhat does the \"git-where-did-this-tag-branch-from-linus\" command look like?\n\n-Tony\n"},{"id":"84331","messageId":"alpine.DEB.1.00.0807221727210.8986@racer","threadId":"14591","inReplyTo":"12c511ca0807220919q4db6ee1fr33dc70fe35c58efe@mail.gmail.com","subject":"Re: Computing the number of patches in linux-next tree","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2008-07-22T16:28:17Z","receivedAt":"2008-07-22T16:28:17Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 22 Jul 2008, Tony Luck wrote:\n\n> git tag | grep next- | sort | while read tag\n\nThis should not be necessary... AFAICT \"git tag\" sorts its output already.\n\n> What does the \"git-where-did-this-tag-branch-from-linus\" command look like?\n\ngit merge-base --all <branch1> <branch2>\n\nBe warned: there might be multiple merge bases.\n\nCiao,\nDscho\n"},{"id":"84338","messageId":"7vabg9n93f.fsf@gitster.siamese.dyndns.org","threadId":"14591","inReplyTo":"alpine.DEB.1.00.0807221727210.8986@racer","subject":"Re: Computing the number of patches in linux-next tree","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-07-22T17:04:52Z","receivedAt":"2008-07-22T17:04:52Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> On Tue, 22 Jul 2008, Tony Luck wrote:\n>\n>> git tag | grep next- | sort | while read tag\n>\n> This should not be necessary... AFAICT \"git tag\" sorts its output already.\n>\n>> What does the \"git-where-did-this-tag-branch-from-linus\" command look like?\n>\n> git merge-base --all <branch1> <branch2>\n>\n> Be warned: there might be multiple merge bases.\n\nI do not think that approach applies to linux-next, which is constantly\nrewound to the then-tip-of-linus and merge remaining bits.  The question\nis \"where does this branch begin\", which does not have an answer in git.\n"},{"id":"84341","messageId":"57C9024A16AD2D4C97DC78E552063EA306640DDC@orsmsx505.amr.corp.intel.com","threadId":"14591","inReplyTo":"7vabg9n93f.fsf@gitster.siamese.dyndns.org","subject":"RE: Computing the number of patches in linux-next tree","fromName":"Luck, Tony","fromEmail":"tony.luck@intel.com","sentAt":"2008-07-22T17:13:32Z","receivedAt":"2008-07-22T17:13:32Z","isPatch":false,"sender":{"key":"tony.luck@intel.com","avatar":"https://avatars.githubusercontent.com/u/5446021?v=4"},"body":">> git merge-base --all <branch1> <branch2>\n>>\n>> Be warned: there might be multiple merge bases.\n>\n> I do not think that approach applies to linux-next, which is constantly\n> rewound to the then-tip-of-linus and merge remaining bits.  The question\n> is \"where does this branch begin\", which does not have an answer in git.\n\nUsing git merge-base on the next-20080701 tag and current Linus tree I get\n76 possible merge bases.  None of them appear to be the \"right\" one (if\nI check out this tag and look at Next/merge.log the right answer appears\nto be 1702b52 if I'm reading the log correctly).\n\nPerhaps my best hope is to\n        $ git checkout $tag Next/merge.log\n        ... parse merge.log to figure out $base ...\n\n-Tony\n"},{"id":"84342","messageId":"alpine.DEB.1.00.0807221816560.8986@racer","threadId":"14591","inReplyTo":"7vabg9n93f.fsf@gitster.siamese.dyndns.org","subject":"Re: Computing the number of patches in linux-next tree","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2008-07-22T17:24:44Z","receivedAt":"2008-07-22T17:24:44Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 22 Jul 2008, Junio C Hamano wrote:\n\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n> \n> > On Tue, 22 Jul 2008, Tony Luck wrote:\n> >\n> >> git tag | grep next- | sort | while read tag\n> >\n> > This should not be necessary... AFAICT \"git tag\" sorts its output already.\n> >\n> >> What does the \"git-where-did-this-tag-branch-from-linus\" command look like?\n> >\n> > git merge-base --all <branch1> <branch2>\n> >\n> > Be warned: there might be multiple merge bases.\n> \n> I do not think that approach applies to linux-next, which is constantly\n> rewound to the then-tip-of-linus and merge remaining bits.  The question\n> is \"where does this branch begin\", which does not have an answer in git.\n\nOh.\n\nWell, there is one thing that _could_ work most of the time, namely \nlooking at the committer info of the first parent.\n\nDunno,\nDscho\n"},{"id":"84345","messageId":"1216751008.13328.17.camel@brick","threadId":"14591","inReplyTo":"7vabg9n93f.fsf@gitster.siamese.dyndns.org","subject":"Re: Computing the number of patches in linux-next tree","fromName":"Harvey Harrison","fromEmail":"harvey.harrison@gmail.com","sentAt":"2008-07-22T18:23:28Z","receivedAt":"2008-07-22T18:23:28Z","isPatch":false,"sender":{"key":"harvey.harrison@gmail.com","avatar":null},"body":"On Tue, 2008-07-22 at 10:04 -0700, Junio C Hamano wrote:\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n> \n> > On Tue, 22 Jul 2008, Tony Luck wrote:\n> >\n> >> git tag | grep next- | sort | while read tag\n> >\n> > This should not be necessary... AFAICT \"git tag\" sorts its output already.\n> >\n> >> What does the \"git-where-did-this-tag-branch-from-linus\" command look like?\n> >\n> > git merge-base --all <branch1> <branch2>\n> >\n> > Be warned: there might be multiple merge bases.\n> \n> I do not think that approach applies to linux-next, which is constantly\n> rewound to the then-tip-of-linus and merge remaining bits.  The question\n> is \"where does this branch begin\", which does not have an answer in git.\n\nI thought that was what Stephen has the next/stable branch for:\n\ngit log --pretty=oneline --no-merges next/stable..next/master | wc -l\n\nAt least for each day you can find the number of patches....I don't\nthink he tags the stable points, so historically that may be a problem.\n\nHarvey\n"}]}