Re: [PATCH v3] tag: support --sort=spec

2014-02-26 Thread Jeff King
On Tue, Feb 25, 2014 at 07:22:15PM +0700, Nguyễn Thái Ngọc Duy wrote: 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

Re: [PATCH v3] tag: support --sort=spec

2014-02-26 Thread Duy Nguyen
On Wed, Feb 26, 2014 at 4:05 PM, Jeff King p...@peff.net wrote: On Tue, Feb 25, 2014 at 07:22:15PM +0700, Nguyễn Thái Ngọc Duy wrote: versioncmp() is copied from string/strverscmp.c in glibc commit ee9247c38a8def24a59eb5cfb7196a98bef8cfdc, reformatted to Git coding style. The implementation

Re: [PATCH v3] tag: support --sort=spec

2014-02-26 Thread Jeff King
On Wed, Feb 26, 2014 at 06:03:40PM +0700, Duy Nguyen wrote: Cool. I think doing this makes the most sense, as we do not have to worry about build-time config (and I do not see any particular reason why we would want to use the system strverscmp on glibc systems). Another reason I want to

Re: [PATCH v3] tag: support --sort=spec

2014-02-26 Thread Duy Nguyen
On Wed, Feb 26, 2014 at 6:08 PM, Jeff King p...@peff.net wrote: I'd worry slightly, though, that there are other schemes where that behaves poorly. Should we optimize for git's version numbering, or for what most other projects want? There could even be room for two types of version-compare.

Re: [PATCH v3] tag: support --sort=spec

2014-02-26 Thread Jeff King
On Wed, Feb 26, 2014 at 06:11:54PM +0700, Duy Nguyen wrote: On Wed, Feb 26, 2014 at 6:08 PM, Jeff King p...@peff.net wrote: I'd worry slightly, though, that there are other schemes where that behaves poorly. Should we optimize for git's version numbering, or for what most other projects

Re: [PATCH v3] tag: support --sort=spec

2014-02-26 Thread Duy Nguyen
On Wed, Feb 26, 2014 at 6:08 PM, Jeff King p...@peff.net wrote: But before thinking about that, I'd want to know why glibc behaves as it does. Pure guess. It may be because it targets more than software version. In strverscmp man page, the example is jan1, jan10, jan2 versionsort() in glibc

[PATCH v3] tag: support --sort=spec

2014-02-25 Thread Nguyễn Thái Ngọc Duy
--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

Re: [PATCH v3] tag: support --sort=spec

2014-02-25 Thread Junio C Hamano
Nguyễn Thái Ngọc Duy pclo...@gmail.com writes: 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. I'd propose this