delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2013/03/23/13:56:40

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:date:message-id:subject:from:to
:content-type; q=dns; s=default; b=Vu+BJXXpY5bQH5hfkdNvQrBzexQqx
LibfV9ssjclXupmqhVTpNE7epzRWQGjWPbLNP1Gt/gI6Jj63MY0Ifc+LQtA/W6Ey
fP4vARq/PWLZ7VSZH3WhJv8+hXZUyikpNt8+CLn2tvopNAUCY6+WS1XH4zekJ/qL
8NAoxi+J5pNUoQ=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:date:message-id:subject:from:to
:content-type; s=default; bh=vk7JP8bYX9mL/VlGHFtNB8nxEt8=; b=hCR
hDLI3QU25asPb7AK3SZ9O/krf91RFk0Zrn+gcstVVF0Ijkx59jS03sOQzxfEoR5h
8y54ANaVlv4YpqAH5u20qh28w/78u+2wwiWas6NjW56sc/3QMP9C9Ui/XlrOa9Gy
B28dsoqFZkImQQ0qrW1EnkO06kiBZg2pBuAC31yo=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Spam-SWARE-Status: No, score=-0.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_SV autolearn=ham version=3.3.1
MIME-Version: 1.0
X-Received: by 10.42.122.66 with SMTP id m2mr3435008icr.15.1364061362269; Sat, 23 Mar 2013 10:56:02 -0700 (PDT)
Date: Sat, 23 Mar 2013 12:56:01 -0500
Message-ID: <CAP_ScW24EmSaiybpyz2iVszUWYnEo=gOFr76O9QDCoGsdN59xQ@mail.gmail.com>
Subject: cvs changes to support CR/LF in Root & Repository files
From: Bill Priest <priestwilliaml AT gmail DOT com>
To: cygwin AT cygwin DOT com
X-Virus-Found: No

--20cf3003bbb6f3371604d89b485e
Content-Type: text/plain; charset=ISO-8859-1

All,
  I used tortoisecvs (as a plugin for windows eclipse) to check out
some repositories to a "windows 7" directory (e.g. not a cygwin
directory).  I tried to use the cygwin cvs client to diff files and
check status but it complained ": no such repository" for "cvs log
<filename>".  A simple dos2unix on the CVS/Root file changed the error
to "cvs log: nothing known about <filename>"; a dos2unix on
CVS/Repository allowed the "cvs log" command to work correctly.
  I'm used to being able to copy/move svn sandboxes between linux and
windows w/o any issues so I checked into the cvs source to see what it
would take to support LF as well as CR/LF.  This issue isn't limited
to the cygwin cvs as the same "sandbox" copied to linux has the same
problem.
  I hacked the root.c and repos.c to work around the problem (as of
yet I haven't seen any impact to commands wrt Entries and template
don't seem to be affected.
  I've attached patch.txt with the changes.  This can be tested by
running dos2unix CVS/Root CVS/Repository; cvs log configure (the
current version of cvs will not work while the patched version will
work normally).

Bill

Index: ChangeLog
===================================================================
RCS file: /sources/cvs/ccvs/ChangeLog,v
retrieving revision 1.1379
diff -u -r1.1379 ChangeLog
--- ChangeLog   12 Nov 2009 02:29:17 -0000      1.1379
+++ ChangeLog   23 Mar 2013 17:48:31 -0000
@@ -1,3 +1,8 @@
+2013-03-23  Bill Pries <priestwilliaml AT gmail DOT com>
+
+       * root.c: Support CR/LF as well as LF
+       * repos.c: Support CR/LF as well as LF
+
 2009-11-11  Derek R. Price  <derek AT ximbiot DOT com>

        * NEWS: Note default taginfo format string fix.
Index: src/repos.c
===================================================================
RCS file: /sources/cvs/ccvs/src/repos.c,v
retrieving revision 1.49
diff -u -r1.49 repos.c
--- src/repos.c 18 Nov 2008 22:56:55 -0000      1.49
+++ src/repos.c 23 Mar 2013 17:48:31 -0000
@@ -101,6 +101,9 @@
        error (0, errno, "cannot close %s", quote (tmp));
     free (tmp);

+    if ((cp = strrchr (repos, '\r')) != NULL)
+       *cp = '\0';                     /* strip the carriage return */
+
     if ((cp = strrchr (repos, '\n')) != NULL)
        *cp = '\0';                     /* strip the newline */

Index: src/root.c
===================================================================
RCS file: /sources/cvs/ccvs/src/root.c,v
retrieving revision 1.137
diff -u -r1.137 root.c
--- src/root.c  12 Sep 2008 19:55:29 -0000      1.137
+++ src/root.c  23 Mar 2013 17:48:31 -0000
@@ -60,7 +60,6 @@
     char *tmp;
     char *cvsadm;
     char *cp;
-    int len;

     TRACE (TRACE_FLOW, "Name_Root (%s, %s)",
           TRACE_NULL (dir), TRACE_NULL (update_dir));
@@ -88,7 +87,7 @@
      */
     fpin = xfopen (tmp, "r");

-    if ((len = getline (&root, &root_allocated, fpin)) < 0)
+    if (getline (&root, &root_allocated, fpin) < 0)
     {
        char *admfile = dir_append (update_dir, CVSADM_ROOT);
        /* FIXME: should be checking for end of file separately; errno
@@ -99,8 +98,11 @@
        goto out;
     }
     fclose (fpin);
-    cp = root + len - 1;
-    if (*cp == '\n')
+
+    if ((cp = strrchr (root, '\r')) != NULL)
+       *cp = '\0';                     /* strip the carriage return */
+
+    if ((cp = strrchr (root, '\n')) != NULL)
        *cp = '\0';                     /* strip the newline */

     /*

--20cf3003bbb6f3371604d89b485e
Content-Type: text/plain; charset=US-ASCII; name="patch.txt"
Content-Disposition: attachment; filename="patch.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hen2pwoe0

SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvc291cmNlcy9jdnMvY2N2cy9DaGFuZ2VMb2csdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMTM3OQpkaWZmIC11IC1yMS4xMzc5IENoYW5nZUxvZwot
LS0gQ2hhbmdlTG9nCTEyIE5vdiAyMDA5IDAyOjI5OjE3IC0wMDAwCTEuMTM3
OQorKysgQ2hhbmdlTG9nCTIzIE1hciAyMDEzIDE3OjUwOjA3IC0wMDAwCkBA
IC0xLDMgKzEsOCBAQAorMjAxMy0wMy0yMyAgQmlsbCBQcmllcyA8cHJpZXN0
d2lsbGlhbWxAZ21haWwuY29tPgorCisJKiByb290LmM6IFN1cHBvcnQgQ1Iv
TEYgYXMgd2VsbCBhcyBMRgorCSogcmVwb3MuYzogU3VwcG9ydCBDUi9MRiBh
cyB3ZWxsIGFzIExGCisKIDIwMDktMTEtMTEgIERlcmVrIFIuIFByaWNlICA8
ZGVyZWtAeGltYmlvdC5jb20+CiAKIAkqIE5FV1M6IE5vdGUgZGVmYXVsdCB0
YWdpbmZvIGZvcm1hdCBzdHJpbmcgZml4LgpJbmRleDogc3JjL3JlcG9zLmMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3NvdXJjZXMvY3Zz
L2NjdnMvc3JjL3JlcG9zLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDkK
ZGlmZiAtdSAtcjEuNDkgcmVwb3MuYwotLS0gc3JjL3JlcG9zLmMJMTggTm92
IDIwMDggMjI6NTY6NTUgLTAwMDAJMS40OQorKysgc3JjL3JlcG9zLmMJMjMg
TWFyIDIwMTMgMTc6NTA6MDggLTAwMDAKQEAgLTEwMSw2ICsxMDEsOSBAQAog
CWVycm9yICgwLCBlcnJubywgImNhbm5vdCBjbG9zZSAlcyIsIHF1b3RlICh0
bXApKTsKICAgICBmcmVlICh0bXApOwogCisgICAgaWYgKChjcCA9IHN0cnJj
aHIgKHJlcG9zLCAnXHInKSkgIT0gTlVMTCkKKwkqY3AgPSAnXDAnOwkJCS8q
IHN0cmlwIHRoZSBjYXJyaWFnZSByZXR1cm4gKi8KKwogICAgIGlmICgoY3Ag
PSBzdHJyY2hyIChyZXBvcywgJ1xuJykpICE9IE5VTEwpCiAJKmNwID0gJ1ww
JzsJCQkvKiBzdHJpcCB0aGUgbmV3bGluZSAqLwogCkluZGV4OiBzcmMvcm9v
dC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9zb3VyY2Vz
L2N2cy9jY3ZzL3NyYy9yb290LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
MTM3CmRpZmYgLXUgLXIxLjEzNyByb290LmMKLS0tIHNyYy9yb290LmMJMTIg
U2VwIDIwMDggMTk6NTU6MjkgLTAwMDAJMS4xMzcKKysrIHNyYy9yb290LmMJ
MjMgTWFyIDIwMTMgMTc6NTA6MDggLTAwMDAKQEAgLTYwLDcgKzYwLDYgQEAK
ICAgICBjaGFyICp0bXA7CiAgICAgY2hhciAqY3ZzYWRtOwogICAgIGNoYXIg
KmNwOwotICAgIGludCBsZW47CiAKICAgICBUUkFDRSAoVFJBQ0VfRkxPVywg
Ik5hbWVfUm9vdCAoJXMsICVzKSIsCiAJICAgVFJBQ0VfTlVMTCAoZGlyKSwg
VFJBQ0VfTlVMTCAodXBkYXRlX2RpcikpOwpAQCAtODgsNyArODcsNyBAQAog
ICAgICAqLwogICAgIGZwaW4gPSB4Zm9wZW4gKHRtcCwgInIiKTsKIAotICAg
IGlmICgobGVuID0gZ2V0bGluZSAoJnJvb3QsICZyb290X2FsbG9jYXRlZCwg
ZnBpbikpIDwgMCkKKyAgICBpZiAoZ2V0bGluZSAoJnJvb3QsICZyb290X2Fs
bG9jYXRlZCwgZnBpbikgPCAwKQogICAgIHsKIAljaGFyICphZG1maWxlID0g
ZGlyX2FwcGVuZCAodXBkYXRlX2RpciwgQ1ZTQURNX1JPT1QpOwogCS8qIEZJ
WE1FOiBzaG91bGQgYmUgY2hlY2tpbmcgZm9yIGVuZCBvZiBmaWxlIHNlcGFy
YXRlbHk7IGVycm5vCkBAIC05OSw4ICs5OCwxMSBAQAogCWdvdG8gb3V0Owog
ICAgIH0KICAgICBmY2xvc2UgKGZwaW4pOwotICAgIGNwID0gcm9vdCArIGxl
biAtIDE7Ci0gICAgaWYgKCpjcCA9PSAnXG4nKQorCisgICAgaWYgKChjcCA9
IHN0cnJjaHIgKHJvb3QsICdccicpKSAhPSBOVUxMKQorCSpjcCA9ICdcMCc7
CQkJLyogc3RyaXAgdGhlIGNhcnJpYWdlIHJldHVybiAqLworCisgICAgaWYg
KChjcCA9IHN0cnJjaHIgKHJvb3QsICdcbicpKSAhPSBOVUxMKQogCSpjcCA9
ICdcMCc7CQkJLyogc3RyaXAgdGhlIG5ld2xpbmUgKi8KIAogICAgIC8qCg==


--20cf3003bbb6f3371604d89b485e
Content-Type: text/plain; charset=us-ascii

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
--20cf3003bbb6f3371604d89b485e--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019