Date: Mon, 9 Feb 1998 01:53:04 -0500 To: pcl-cvs@cyclic.com From: "Bradley C. Kuszmaul" I am using cvs-1.9.16 with a remote repository. It looks like pcl-cvs does not quite work in this case, however. (I have not tried pcl-cvs with a local repository.) The problem is that when using the cvs remote protocol, the "cvs update" command does not like being given an absolute pathname. I find that it does work to cd to the right directory and use the local pathname. Enclosed is a patch which does it that way. This makes the system work much more nicely. I have not extensively tested pcl-cvs with this patch, but it seems to work better now than it did before. I haven't grokked all the places that use the full-path, so maybe I have missed something. This patch makes "cvs update" work both with files that are conflicted and with files that are modified. Incidently, I think it would be somewhat easier to install this package if the elib-1.0.tar.gz file were untarred in the distribution. * when trying to build an rpm file for cvs, it seems to hair up the rpm file to have to untar even more stuff after untarring the first source. * emacs tar mode does not know what to do when it finds a tar file (recursive tar mode doesn't work.) * including a gzipped tar file inside a gzipped tar file seems excessive. Keep up the good work. -Bradley Prof. Bradley C. Kuszmaul Yale University Department of Computer Science Street address: 51 Prospect Street; New Haven, CT 06520-8285 email: bradley@ee.yale.edu web: http://arch.cs.yale.edu/~bradley voice: 203-432-6400 fax: -0593 (shared fax machine) *** /usr/src/redhat/BUILD/cvs-1.9.16/tools/pcl-cvs/pcl-cvs.el Wed Nov 6 12:29:31 1996 --- /usr/share/emacs/site-lisp/pcl-cvs.el Mon Feb 9 01:23:19 1998 *************** *** 3096,3099 **** --- 3096,3103 ---- (message "Retrieving revision %s..." revision) (message "Retrieving latest revision...")) + ;; To make the system work on a remote cvs server, you should cd to the directory and then use a local filename. + ;; Originally, this code provided an absolute pathname, which probably works just fine if the cvs repository + ;; is local. + (cd (file-name-as-directory (cvs-fileinfo->dir fileinfo))) (let ((res (call-process cvs-shell nil nil nil "-c" (concat cvs-program " update -p " *************** *** 3103,3107 **** (concat "-r " revision " ") "") ! (cvs-fileinfo->full-path fileinfo) " > " temp-name)))) (if (and res (not (and (integerp res) (zerop res)))) --- 3107,3111 ---- (concat "-r " revision " ") "") ! (cvs-fileinfo->file-name fileinfo) " > " temp-name)))) (if (and res (not (and (integerp res) (zerop res))))