summaryrefslogtreecommitdiff
path: root/cvsps/06-discard-extra-version-lines.patch
diff options
context:
space:
mode:
authorJohn Vogel <jvogel@stygian.me>2024-12-14 00:40:59 -0500
committerJohn Vogel <jvogel@stygian.me>2024-12-14 00:40:59 -0500
commitaba880f759d649bddbc1bafef9c4a8b7486b8d10 (patch)
tree486299c85163c9fad6493f8a53a492455dd7c112 /cvsps/06-discard-extra-version-lines.patch
parent7ee4e89dd35826f5ca04309ae1368f2967356d76 (diff)
downloadmy-aports-aba880f759d649bddbc1bafef9c4a8b7486b8d10.tar.gz
local/cvsps: new aport
Diffstat (limited to 'cvsps/06-discard-extra-version-lines.patch')
-rw-r--r--cvsps/06-discard-extra-version-lines.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/cvsps/06-discard-extra-version-lines.patch b/cvsps/06-discard-extra-version-lines.patch
new file mode 100644
index 0000000..7dcce62
--- /dev/null
+++ b/cvsps/06-discard-extra-version-lines.patch
@@ -0,0 +1,27 @@
+Subject: Discard extra "M" lines in response to "version"
+From: Richard Hansen <ubuntu-a7x@scientician.org>
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1413084
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=775883
+
+Some CVS servers print more than one "M" line in response to a
+"version" command. For example:
+
+Client: version
+Server: M Concurrent Versions System (CVS) 1.12.13 (client/server)
+Server: M with CVSACL Patch 1.2.5 (cvsacl.sourceforge.net)
+Server: ok
+
+This patch causes cvsps to consume all such lines rather than fail.
+
+--- a/cvs_direct.c
++++ b/cvs_direct.c
+@@ -916,7 +916,8 @@
+ else
+ debug(DEBUG_APPERROR, "cvs_direct: didn't read version: %s", lbuff);
+
+- read_line(ctx, lbuff);
++ while (strncmp(lbuff, "M ", 2) == 0)
++ read_line(ctx, lbuff);
+ if (strcmp(lbuff, "ok") != 0)
+ debug(DEBUG_APPERROR, "cvs_direct: protocol error reading version");
+