# Computing the number of patches in linux-next tree

6 messages from 2008-07-22 to 2008-07-22. Participants: Tony Luck, Johannes Schindelin, Junio C Hamano, Luck, Tony, Harvey Harrison.
Thread: https://gitlist.dev/t/14591

## Tony Luck, 2008-07-22 16:19

Subject: Computing the number of patches in linux-next tree
Message-ID: <12c511ca0807220919q4db6ee1fr33dc70fe35c58efe@mail.gmail.com>
URL: https://gitlist.dev/e/12c511ca0807220919q4db6ee1fr33dc70fe35c58efe%40mail.gmail.com

```
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, 2008-07-22 16:28

Subject: Re: Computing the number of patches in linux-next tree
Message-ID: <alpine.DEB.1.00.0807221727210.8986@racer>
URL: https://gitlist.dev/e/alpine.DEB.1.00.0807221727210.8986%40racer
In-Reply-To: <12c511ca0807220919q4db6ee1fr33dc70fe35c58efe@mail.gmail.com>

```
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, 2008-07-22 17:04

Subject: Re: Computing the number of patches in linux-next tree
Message-ID: <7vabg9n93f.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vabg9n93f.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <alpine.DEB.1.00.0807221727210.8986@racer>

```
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.

```

## Luck, Tony, 2008-07-22 17:13

Subject: RE: Computing the number of patches in linux-next tree
Message-ID: <57C9024A16AD2D4C97DC78E552063EA306640DDC@orsmsx505.amr.corp.intel.com>
URL: https://gitlist.dev/e/57C9024A16AD2D4C97DC78E552063EA306640DDC%40orsmsx505.amr.corp.intel.com
In-Reply-To: <7vabg9n93f.fsf@gitster.siamese.dyndns.org>

```
>> 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, 2008-07-22 17:24

Subject: Re: Computing the number of patches in linux-next tree
Message-ID: <alpine.DEB.1.00.0807221816560.8986@racer>
URL: https://gitlist.dev/e/alpine.DEB.1.00.0807221816560.8986%40racer
In-Reply-To: <7vabg9n93f.fsf@gitster.siamese.dyndns.org>

```
Hi,

On Tue, 22 Jul 2008, Junio C Hamano wrote:

> 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, 2008-07-22 18:23

Subject: Re: Computing the number of patches in linux-next tree
Message-ID: <1216751008.13328.17.camel@brick>
URL: https://gitlist.dev/e/1216751008.13328.17.camel%40brick
In-Reply-To: <7vabg9n93f.fsf@gitster.siamese.dyndns.org>

```
On Tue, 2008-07-22 at 10:04 -0700, Junio C Hamano wrote:
> 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

```
