This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: CVS + SSH + Binary File = ^M


> -----Original Message-----
> From: cygwin-owner On Behalf Of kgrizzle
> Sent: 19 April 2004 16:15

> I have a cygwin CVS server that I access remotely with the 
> cygwin CVS client and Open SSH.  When I add binary files to 
> the repository from a remote machine, they are corrupted by 
> having ^M line endings appended to each line.  When I add a 
> binary file to the repository from the server machine (ie - 
> CVSROOT=/cvsroot), the file is not corrupted.
> 
> Both server and client machines are running cygwin in 
> textmode rather that binmode.  However, I mounted a test CVS 
> repository on the server in binmode, and the files were still 
> corrupted when added from the remote machine

  At this point you should have tried mounting a directory on the *client*
in binmode, and adding a file from *that* directory.  As it is, you seem to
have shown (both by adding files locally on the server and having no
problem, and by adding them remotely but to a known binmode fs and seeing
the problem) that you should be looking for something going wrong at the
client end.  It might also be a useful experiment to try adding files from
the remote machine to the repository using the :pserver: protocol, to try
and establish if it's the SSh on the client machine that is underlying this
problem.  If the problem still occurs using :pserver: suspect a bad
interaction with the textmode filesystem.

  Basically I think it's a bad idea to mount your filesystems in textmode
and then complain "But it keeps adding \r to my line endings".  Accessing a
binary file through a textmode mountpoint is a dubious thing to expect to
work.  I personally think the most reliable strategy is to accept that we're
working with a POSIX system, standardize on Unix EOLs throughout your files,
mount your filesystems in binary mode, and only ever have Unix<=>DOS EOL
conversions by deliberately invoking d2u/u2d manually.


    cheers, 
      DaveK
-- 
Can't think of a witty .sigline today....


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]