hghave: add cvsnt
cvsnt is a maintained commercial fork of cvs
https://en.wikipedia.org/wiki/CVSNT
It is possible to build a version of it from sources (github),
it requires libpcre and libltdl (libtool).
We already have a test that relates to cvsnt:
test-convert-cvsnt-mergepoints.t
cvsnt installs: cvs, cvslockd, cvsnt, cvsscript
I think we should definitely have a check for cvsnt because it makes
the version checks for cvs make a lot more sense.
When I use the version I built, cvs --version says:
"""
Concurrent Versions System (CVSNT) 2.5.05 (Gan) Build 3744 (Suite) (client/server)
CVSNT 2.5.05 (Apr 4 2016) Copyright (c) 2008 March Hare Software Ltd.
see http://www.march-hare.com/cvspro
CVS Copyright (c) 1989-2001 Brian Berliner, david d `zoo' zuhn,
Jeff Polk, and other authors
CVSNT Copyright (c) 1999-2008 Tony Hoyle and others
see http://www.cvsnt.org
Commercial support and training provided by March Hare Software Ltd.
see http://www.march-hare.com/cvspro
CVSNT may be copied only under the terms of the GNU General Public License v2,
a copy of which can be found with the CVS distribution.
The CVSNT Application API is licensed under the terms of the
GNU Library (or Lesser) General Public License.
Specify the --help option for further information about CVS
"""
--- a/tests/hghave.py Fri Apr 01 15:12:50 2016 -0700
+++ b/tests/hghave.py Mon Apr 04 06:27:12 2016 +0000
@@ -134,6 +134,11 @@
re = r'Concurrent Versions System \(CVS\) 1.12.*?server'
return matchoutput('cvs --version 2>&1', re) and not has_msys()
+@check("cvsnt", "cvsnt client/server")
+def has_cvsnt():
+ re = r'Concurrent Versions System \(CVSNT\) (\d+).(\d+).*\(client/server\)'
+ return matchoutput('cvsnt --version 2>&1', re)
+
@check("darcs", "darcs client")
def has_darcs():
return matchoutput('darcs --version', r'2\.[2-9]', True)