This is the mail archive of the cygwin@cygwin.com 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 with pserver: Binary files get corrupted


[please keep the replies on list]

Holger Spielmann wrote:

> Hi,
> 
> Charles Wilson <cwilson@ece.gatech.edu> writes:
> 
>>The repository itself must be on a binary (unix) mounted drive --
>>within the conext of the service!  Since you are probably starting the
>>pserver daemon from inetd, which is started under the *SYSTEM* user.
>>It (probably) doesn't matter where the checked-out or
>>original-pre-import sources are, but the repository must be on a unix
>>mount.
>>
> 
> I did mount the repository as binary, but that didn't help.


As a system mount?  Did you then restart inetd/cvsd ?  and then 
*recreate* the repository (since your original one probably had ^M's in it)?


> However, after continued search in the archives for the cygwin list,
> I've found the advice to mount the working directory as binary,
> too. I cannot test that at home (no more windows machines since 5
> years, everything around's Linux:), but I'll give it a try tomorrow at
> work.


My point is that you should try from a CLEAN SLATE with your intended 
repository directory mounted as binary -- not that you merely re-mount 
an existing repository (that may be scrogged) as binary.


> 
>>export CVSROOT=/repository
>>
> Having the repository on a windows share isn't a solution for us


What???  I said nothing about a windows share.  I'm talking about the 
following, when logged in to the machine on which cvs:pserver: will run, 
create a brand spanking new empty repository directory.  Make sure it is 
on a binary mount (e.g. as a simple example, I said:

 > mkdir D:\repository
 > bash
$ mkdir /repository
$ mount -b -s D:\\repository /repository

See, now you are SURE that /repository is a binary mounted directory. 
The data will go into D:\repository.)

Tell cvs where that brand spanking new empty repository directory is 
going to live. (for instance, continuing the previous example:

export CVSROOT=/repository

This is NOT a windows share.  It's just a mounted directory on your 
:pserver: machine (remember, we're doing all of this interactively ON 
the pserver machine.)

Then, initialize the brand spanking new repository:

cvs init.

Now restart inetd/cvsd/however you are getting pserver to work.

THEN, and only then, go try to import something from a client machine.

> because of performance and security reasons, only pserver and perhaps
> ssh are OK.


Note that pserver is practically unported.  I didn't do anything to try 
to get it to work at all; I do have some documentation on how one user 
got it working, but haven't yet published it.  Too much on my plate 
right now.

--Chuck


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.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]