From: Jeff King Date: Thu, 27 Feb 2014 13:11:00 GMT Subject: Re: [PATCH v4] tag: support --sort= Message-ID: <20140227131100.GA22783@sigill.intra.peff.net> In-Reply-To: <1393505812-7171-1-git-send-email-pclouds@gmail.com> On Thu, Feb 27, 2014 at 07:56:52PM +0700, Nguyễn Thái Ngọc Duy wrote: > --sort=version:refname (or --sort=v:refname for short) sorts tags as > if they are versions. --sort=-refname reverses the order (with or > without ":version"). > > versioncmp() is copied from string/strverscmp.c in glibc commit > ee9247c38a8def24a59eb5cfb7196a98bef8cfdc, reformatted to Git coding > style. The implementation is under LGPL-2.1 and according to [1] I can > relicense it to GPLv2. This looks good to me. One minor typo: > diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt > index 404257d..9b05931 100644 > --- a/Documentation/git-tag.txt > +++ b/Documentation/git-tag.txt > @@ -95,6 +95,12 @@ OPTIONS > using fnmatch(3)). Multiple patterns may be given; if any of > them matches, the tag is shown. > > +--sort=:: > + Sort in a specific order. Supported type is "refname" > + (lexicographic order), "version:refname" or "v:refname" (tags > + name are treated as versions). Prepend "-" to reverse sort s/tags name/tag names/ You had mentioned earlier tweaking the version comparison to handle things like -rc better. I think that can come on top of this initial patch, but we should probably figure out the final sort order before including this in a release. -Peff