threads / discuss / 14591

Computing the number of patches in linux-next tree

Subject: Computing the number of patches in linux-next tree

## tl;dr

6 messages between Jul 22, 2008 and Jul 22, 2008.

replies: 5people: 4as markdown or json

Tony Luck· Jul 22, 2008, 16:19 UTC · lore

I tried to produce a graph of the pending avalanche of patches sitting in the linux-next tree and came up with this:

git tag | grep next- | sort | while read tag
do
        c=$(git-rev-list --no-merges $tag ^linus | wc -l)
        echo ${tag##next-} $c
done

Where "linus" is a branch that tracks Linus' tree. But this gets the wrong count for old tags because maintainers who use the topic-branch method have exactly the same commits in linux-next as eventually end up in Linus ... so once Linus pulls these trees, the historical counts change.

What I really need at this point is the commit from Linus tree that Stephen uses as the basis for each next-* tag. I.e. change the loop body to

       base=`git-where-did-this-tag-branch-from-linus $tag`
       c=$(git-rev-list --no-merges $tag ^$base | wc -l)

Is this the right way to do this? What does the "git-where-did-this-tag-branch-from-linus" command look like?

-Tony
Johannes Schindelin· Jul 22, 2008, 16:28 UTC · re: Tony Luck · lore

Re: Computing the number of patches in linux-next tree

Hi,
On Tue, 22 Jul 2008, Tony Luck wrote:
> git tag | grep next- | sort | while read tag
This should not be necessary... AFAICT "git tag" sorts its output already.
> What does the "git-where-did-this-tag-branch-from-linus" command look like?
git merge-base --all <branch1> <branch2>
Be warned: there might be multiple merge bases.

Ciao, Dscho

Junio C Hamano· Jul 22, 2008, 17:04 UTC · re: Johannes Schindelin · lore

Re: Computing the number of patches in linux-next tree

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 11 quoted lines
> On Tue, 22 Jul 2008, Tony Luck wrote:
>
>> git tag | grep next- | sort | while read tag
>
> This should not be necessary... AFAICT "git tag" sorts its output already.
>
>> What does the "git-where-did-this-tag-branch-from-linus" command look like?
>
> git merge-base --all <branch1> <branch2>
>
> Be warned: there might be multiple merge bases.

I do not think that approach applies to linux-next, which is constantly rewound to the then-tip-of-linus and merge remaining bits. The question is "where does this branch begin", which does not have an answer in git.

Luck, Tony· Jul 22, 2008, 17:13 UTC · re: Junio C Hamano · lore

RE: Computing the number of patches in linux-next tree

Show 7 quoted lines
>> git merge-base --all <branch1> <branch2>
>>
>> Be warned: there might be multiple merge bases.
>
> I do not think that approach applies to linux-next, which is constantly
> rewound to the then-tip-of-linus and merge remaining bits.  The question
> is "where does this branch begin", which does not have an answer in git.

Using git merge-base on the next-20080701 tag and current Linus tree I get 76 possible merge bases. None of them appear to be the "right" one (if I check out this tag and look at Next/merge.log the right answer appears to be 1702b52 if I'm reading the log correctly).

Perhaps my best hope is to
        $ git checkout $tag Next/merge.log
        ... parse merge.log to figure out $base ...
-Tony
Johannes Schindelin· Jul 22, 2008, 17:24 UTC · re: Junio C Hamano · lore

Re: Computing the number of patches in linux-next tree

Hi,
On Tue, 22 Jul 2008, Junio C Hamano wrote:
Show 17 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > On Tue, 22 Jul 2008, Tony Luck wrote:
> >
> >> git tag | grep next- | sort | while read tag
> >
> > This should not be necessary... AFAICT "git tag" sorts its output already.
> >
> >> What does the "git-where-did-this-tag-branch-from-linus" command look like?
> >
> > git merge-base --all <branch1> <branch2>
> >
> > Be warned: there might be multiple merge bases.
> 
> I do not think that approach applies to linux-next, which is constantly
> rewound to the then-tip-of-linus and merge remaining bits.  The question
> is "where does this branch begin", which does not have an answer in git.
Oh.

Well, there is one thing that _could_ work most of the time, namely looking at the committer info of the first parent.

Dunno, Dscho

Harvey Harrison· Jul 22, 2008, 18:23 UTC · re: Junio C Hamano · lore

Re: Computing the number of patches in linux-next tree

On Tue, 2008-07-22 at 10:04 -0700, Junio C Hamano wrote:
Show 17 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > On Tue, 22 Jul 2008, Tony Luck wrote:
> >
> >> git tag | grep next- | sort | while read tag
> >
> > This should not be necessary... AFAICT "git tag" sorts its output already.
> >
> >> What does the "git-where-did-this-tag-branch-from-linus" command look like?
> >
> > git merge-base --all <branch1> <branch2>
> >
> > Be warned: there might be multiple merge bases.
> 
> I do not think that approach applies to linux-next, which is constantly
> rewound to the then-tip-of-linus and merge remaining bits.  The question
> is "where does this branch begin", which does not have an answer in git.
I thought that was what Stephen has the next/stable branch for:
git log --pretty=oneline --no-merges next/stable..next/master | wc -l

At least for each day you can find the number of patches....I don't think he tags the stable points, so historically that may be a problem.

Harvey

← back to recent threads