hghave: add cvsnt
authortimeless <timeless@mozdev.org>
Mon, 04 Apr 2016 06:27:12 +0000
changeset 28796 08a686a4a0a2
parent 28795 f456834b2f7e
child 28797 9b52094bb04d
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 """
tests/hghave.py
--- 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)