cvsclient.c: switch to binary (non-pipe mode for received files
authorSergei Trofimovich <slyfox@gentoo.org>
Wed, 9 Jan 2013 09:56:59 +0000 (12:56 +0300)
committerEric S. Raymond <esr@thyrsus.com>
Wed, 9 Jan 2013 15:47:04 +0000 (10:47 -0500)
commit1baf820a9dbac2bdf5bd5536ec388af7f47a987b
tree7fccc9641d748a237290fe35d06070009a152fba
parentfc12fdf7b928bfd5f2b2ab47b11803d67b9736ff
cvsclient.c: switch to binary (non-pipe mode for received files

The problem:

  When text file is stored without a trailing newline
  GNU CVSNT server (on windows) refuses to
  return "ok\n" in a separate line on 'cvs -p up' command.

  In this situation 'cvsps' gets last line like "M <hello>ok\n"
  and hangs as it waits for separate "ok\n" line.

  pipe mode also does not allow importing binary files
  if client does not support 'Mbinary'.

This patch solves the problem by switching to non-pipe mode
for 'cvs update'.

In this mode every checkout is prepended by amount of bytes
in response.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
cvsclient.c