* git tag --contains <commit> -n=1 ?
@ 2009-12-23 16:19 NODA, Kai
2009-12-23 17:19 ` Andreas Schwab
0 siblings, 1 reply; 4+ messages in thread
From: NODA, Kai @ 2009-12-23 16:19 UTC (permalink / raw)
To: git
Hi,
I'm thinking how to find the oldest tag containing a specified commit.
Eg.
$ cd /usr/src/linux-linus/Documentation
$ for i in *.txt; do
for> echo $i
for> hash=`git log -1 --format=format:%H -- $i`
for> git tag --contains $hash -l 'v2.6.[0-9][0-9]'|head -1
for> done
DMA-API.txt
v2.6.31
DMA-ISA-LPC.txt
v2.6.20
DMA-attributes.txt
v2.6.27
...
Here I wonder whether "head -1" is generally correct or not when I want
the oldest tag.
Moreover, as "git tag --contains ..." takes considerable time, I will
be happy if I can set the maximum number in searching tags containing
a commit. Or are there already some (better) ways to achieve this?
Any advice is welcome.
Thanks,
Kai
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: git tag --contains <commit> -n=1 ?
2009-12-23 16:19 git tag --contains <commit> -n=1 ? NODA, Kai
@ 2009-12-23 17:19 ` Andreas Schwab
2009-12-23 20:37 ` NODA, Kai
0 siblings, 1 reply; 4+ messages in thread
From: Andreas Schwab @ 2009-12-23 17:19 UTC (permalink / raw)
To: NODA, Kai; +Cc: git
"NODA, Kai" <nodakai@gmail.com> writes:
> Here I wonder whether "head -1" is generally correct or not when I want
> the oldest tag.
Since the output of git tag is sorted by name, generally not.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: git tag --contains <commit> -n=1 ?
2009-12-23 17:19 ` Andreas Schwab
@ 2009-12-23 20:37 ` NODA, Kai
2009-12-24 5:52 ` Jeff King
0 siblings, 1 reply; 4+ messages in thread
From: NODA, Kai @ 2009-12-23 20:37 UTC (permalink / raw)
To: git
Thank you for your reply, Andreas
Andreas Schwab wrote:
...
>> Here I wonder whether "head -1" is generally correct or not when I want
>> the oldest tag.
>
> Since the output of git tag is sorted by name, generally not.
Wow, I didn't know that.
But then, under the assumption that tags have names like verNNN,
that behavior ensures me that "head -1" works as intended.
Maybe I look at its implementation ( refs.c:do_for_each_ref , right?)
but this seems a tough code to comprehend, especially around
packed/loose/extra ...
Thanks,
Kai
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: git tag --contains <commit> -n=1 ?
2009-12-23 20:37 ` NODA, Kai
@ 2009-12-24 5:52 ` Jeff King
0 siblings, 0 replies; 4+ messages in thread
From: Jeff King @ 2009-12-24 5:52 UTC (permalink / raw)
To: NODA, Kai; +Cc: git
On Thu, Dec 24, 2009 at 05:37:35AM +0900, NODA, Kai wrote:
> >Since the output of git tag is sorted by name, generally not.
>
> Wow, I didn't know that.
> But then, under the assumption that tags have names like verNNN,
> that behavior ensures me that "head -1" works as intended.
If that assumption does not hold, you can also sort by date. See:
http://article.gmane.org/gmane.comp.version-control.git/133586
-Peff
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-12-24 5:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-23 16:19 git tag --contains <commit> -n=1 ? NODA, Kai
2009-12-23 17:19 ` Andreas Schwab
2009-12-23 20:37 ` NODA, Kai
2009-12-24 5:52 ` Jeff King
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).