bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Eclipse, cvs, and extssh


From: Mark D. Baushke
Subject: Re: Eclipse, cvs, and extssh
Date: Thu, 24 Jan 2008 12:23:08 -0800

Hi Bruno,

After doing a bit more research, I agree that Joseph P. Skudlarek's
patch was not applied as originally posted.

Sudlarek's patch introduces CVS_SSH to handle cases where "ssh" is not
good enough.

Derek's original reply:
  http://www.mail-archive.com/bug-cvs@nongnu.org/msg00638.html

Indicates that he intended for :extssh: as an alias for :ext: rather
than adding functionality to ignore CVS_RSH and use $CVS_SSH or "ssh".
After all, the default is --with-rsh=ssh for cvs 1.11.22 already.

As for cvs 1.11.22, you are quite correct. It is missing a few changes
to work properly. The first, in client.c to use RSH_DFLT instead of "rsh"
as a hardcoded value. The configure step will hopefully have defaulted
RSH_DFLT to "ssh" if it is available. The second file is root.c which
needs to do the right thing when it processes the :extssh: method.

I have a source patch for the client.c and root.c files to hopefully
fix your problem.

I plan to commit these patches along with some changes to sanity.sh
to verify that :extssh: works as soon as my regression tests pass.

I plan to commit these patches to both the cvs 1.11.xx STABLE
(cvs1-11-x-branch) and cvs 1.12.xx FEATURE (main trunk) branches this
week.

        -- Mark

ChangeLog entry:
2008-01-24  Mark D. Baushke  <mdb@gnu.org>

        * client.c (start_rsh_server): Use RSH_DFLT not a hardcoded "rsh"
        * root.c (parse_cvsroot): Fix parsing for the :extssh: method.

Index: cvs1-11-x-branch/src/client.c
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/client.c,v
retrieving revision 1.318.4.46
diff -u -p -r1.318.4.46 client.c
--- src/client.c        19 Dec 2007 20:44:15 -0000      1.318.4.46
+++ src/client.c        24 Jan 2008 18:36:05 -0000
@@ -4795,7 +4795,7 @@ start_rsh_server (root, to_server, from_
     int child_pid;
 
     if (!cvs_rsh)
-       cvs_rsh = "rsh";
+       cvs_rsh = RSH_DFLT;
     if (!cvs_server)
        cvs_server = "cvs";
 
Index: cvs1-11-x-branch/src/root.c
===================================================================
RCS file: /cvsroot/cvs/ccvs/src/root.c,v
retrieving revision 1.60.2.17
diff -u -p -r1.60.2.17 root.c
--- src/root.c  16 Aug 2007 18:28:30 -0000      1.60.2.17
+++ src/root.c  24 Jan 2008 18:36:05 -0000
@@ -444,6 +444,8 @@ parse_cvsroot (root_in)
            newroot->method = server_method;
        else if (strcmp (method, "ext") == 0)
            newroot->method = ext_method;
+       else if (strcmp (method, "extssh") == 0)
+           newroot->method = extssh_method;
        else if (strcmp (method, "fork") == 0)
            newroot->method = fork_method;
        else
@@ -673,6 +675,7 @@ parse_cvsroot (root_in)
 # endif
     case server_method:
     case ext_method:
+    case extssh_method:
        no_port = 1;
        /* no_password already set */
        check_hostname = 1;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]