From pst@jnx.com  Sun Feb 16 15:24:10 1997
Received: from red.jnx.com (red.jnx.com [208.197.169.254])
          by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id PAA04695
          for <FreeBSD-gnats-submit@freebsd.org>; Sun, 16 Feb 1997 15:23:56 -0800 (PST)
Received: (from pst@localhost) by red.jnx.com (8.8.5/8.8.3) id PAA03788; Sun, 16 Feb 1997 15:23:24 -0800 (PST)
Message-Id: <199702162323.PAA03788@red.jnx.com>
Date: Sun, 16 Feb 1997 15:23:24 -0800 (PST)
From: Paul Traina <pst@jnx.com>
Reply-To: pst@jnx.com
To: FreeBSD-gnats-submit@freebsd.org
Subject: cvs export using remote cvs fails - CVS/Template
X-Send-Pr-Version: 3.2

>Number:         2749
>Category:       gnu
>Synopsis:       cvs export using remote cvs fails - CVS/Template
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    peter
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 16 15:30:01 PST 1997
>Closed-Date:    Tue May 29 07:20:19 PDT 2001
>Last-Modified:  Tue May 29 07:21:01 PDT 2001
>Originator:     Paul Traina
>Release:        FreeBSD 3.0-CURRENT i386
>Organization:
>Environment:

2.2 -current, cvs 1.8.1, remote cvs.

>Description:

The server sends down a command which causes cvs/src/client.c to attempt
to open up CVS/Template, however there is no CVS subdirectory when doing
an export operation.

By the way, a quick perusal of CVS source code leads me to believe that
this is still broken in 1.9.

>How-To-Repeat:

pst@red$ cvs -d cvs:/cvs/juniper export -D today -d fep2 -kv fep
cvs [export aborted]: cannot write <CVS/Template file>: No such file or directory
pst@red$ rm -rf fep2
pst@red$ cvs -d /volume/cvs-juniper export -D today -d fep2 -kv fep
cvs export: Updating fep2
U fep2/.cvsignore
U fep2/Makefile
...

>Fix:

The bug's really in the server, it shouldn't be sending down a template
command on export, however the logic is rather convoluted once we get
to create_admin() (which shouldn't be called, should it?)

However, on further perusal, the fools decided to fake this stuff out in
cvs client, so a cheap fix would be something like (this is untested):

--- client.c	Tue Aug 20 16:46:02 1996
+++ /tmp/xx	Sun Feb 16 15:33:13 1997
@@ -1741,6 +1741,12 @@
     char *pathname;
     int len;
 {
+    if (strcmp (command_name, "export") == 0)
+    {
+	/* Swallow the template file.  */
+	return;
+    }
+
     call_in_directory (pathname, template, NULL);
 }
 

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->peter 
Responsible-Changed-By: pst 
Responsible-Changed-When: Sun Feb 16 15:34:21 PST 1997 
Responsible-Changed-Why:  
peter is lord of cvs 
State-Changed-From-To: open->closed 
State-Changed-By: phantom 
State-Changed-When: Tue May 29 07:20:19 PDT 2001 
State-Changed-Why:  
Outdated. 


http://www.FreeBSD.org/cgi/query-pr.cgi?pr=2749 
>Unformatted:
