Patchwork hghave: add cvsnt [RFC]

login
register
mail settings
Submitter timeless@mozdev.org
Date April 4, 2016, 7:27 a.m.
Message ID <84996135be618b7fffa5.1459754859@waste.org>
Download mbox | patch
Permalink /patch/14331/
State Accepted
Headers show

Comments

timeless@mozdev.org - April 4, 2016, 7:27 a.m.
# HG changeset patch
# User timeless <timeless@mozdev.org>
# Date 1459751232 0
#      Mon Apr 04 06:27:12 2016 +0000
# Node ID 84996135be618b7fffa5e97bb34593d1ac691276
# Parent  ff0d3b6b287f89594bd8d0308fe2810d2a18ea01
hghave: add cvsnt [RFC]

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 has 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
Augie Fackler - April 5, 2016, 5:51 p.m.
On Mon, Apr 04, 2016 at 02:27:39AM -0500, timeless wrote:
> # HG changeset patch
> # User timeless <timeless@mozdev.org>
> # Date 1459751232 0
> #      Mon Apr 04 06:27:12 2016 +0000
> # Node ID 84996135be618b7fffa5e97bb34593d1ac691276
> # Parent  ff0d3b6b287f89594bd8d0308fe2810d2a18ea01
> hghave: add cvsnt [RFC]

Queued, thanks.

>
> 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 has 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
>
> diff --git a/tests/hghave.py b/tests/hghave.py
> --- a/tests/hghave.py
> +++ b/tests/hghave.py
> @@ -116,6 +116,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)
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Patch

diff --git a/tests/hghave.py b/tests/hghave.py
--- a/tests/hghave.py
+++ b/tests/hghave.py
@@ -116,6 +116,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)