Cygwin checkout problem

Philip Hudson phil.hudson at iname.com
Sun Aug 17 09:01:49 BST 2008


On 14 Aug, 2008, at 9:49 pm, John Arbash Meinel wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Sorry about the delay on this.
>
> Phil Hudson wrote:
>> I'm having a lot of unexpected and unexplained problems getting a  
>> working
>> directory checked out in (at the same level as) my home directory  
>> under Cygwin.
>> It works on other OSes.
>>
>> I'm a newbie, starting out getting my home directory under Bazaar  
>> SCM (moving
>> from Perforce). I use a standard common subset of the files under  
>> my home
>> directory on all of MacOS (PPC and i386), debian (PPC and i386),  
>> Ubuntu (i386),
>> Cygwin, and Solaris (SPARC and i386).
>>
>> I've fetched Bazaar 1.5 on those systems whose package managers  
>> are up-to-date,
>> and built it on the others. Cygwin is one of the latter.
>
> Just to mention, I use the win32 bzr while in the cygwin shell. It
> doesn't manage the executable bits, but it avoids all of the cygwin
> overhead.
>
>> I've successfully set up a repo on machine A (Ubuntu) containing  
>> everything I
>> want from the old P4 repository. I've successfully pushed a branch  
>> locally.
>>
>> On each of my other machines, including the Cygwin one, I've  
>> successfully taken
>> a copy of that branch using the branch command and an sftp:// URI.
>>
>> On each of these machines, I then do a checkout from the local  
>> branch to my
>> actual home directory. On most of them, this has proceeded just as  
>> the Bazaar
>> doco had led me to expect: one or two conflicts, with conflicting  
>> files being
>> renamed for subsequent resolving.
>>
>> On Cygwin, however, almost all the files are reported as  
>> conflicting. I suspect
>> this is a CR/LF thing. Does Bazaar perhaps assume that if you're  
>> on W32 then you
>> always want CR/LF? (Perforce did -- I had similar problems running  
>> P4 under
>> Cygwin). However, the checkout fails ungracefully with a cryptic  
>> and vague error
>> message:
>>
>> bzr: ERROR: [Errno 13] Permission denied
>
> Bazaar doesn't assume CRLF, it doesn't change the line endings of  
> files.
>
> If you could run this again with "-Derror" it will give a full  
> traceback
> of what happened. My best guess is something like encountering a
> directory that we can't rename, etc.
>
>> None of the dozens of supposedly conflicting files has been  
>> renamed and none of
>> the new files has been copied into place. I guess this is a safe  
>> and desirable
>> outcome, so I'm not complaining about it. However, that error  
>> message is no help
>> to me in fixing or working around the issue.
>>
>> Can anyone give me any advice on how to fix this? Thanks for your  
>> kind
>> attention. If I can't fix this pretty quickly, it's a show- 
>> stopper. I have to be
>> able to work on Cygwin, so I guess I'd have to try Mercurial.
>
> I don't know if you got it working or not, by the sound of it you  
> may be
> using something else already. I would just caution if you are planning
> on using non-ascii characters with Mercurial. It doesn't know about  
> path
> encoding, so when you check in a UTF-8 file it gets checked out in OEM
> encoding on Windows. (And cygwin doesn't support non-ascii anyway
> without some significant patching of cygwin, IIRC.)
>
> That may not be a specific concern for you, though. I hope you got
> something that works for you.
>
> John
> =:->
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (Cygwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAkikmlQACgkQJdeBCYSNAANCSgCfYBtGByZd4pgjcrSRAbtQ/QtS
> bccAoLfOEN8zlgk4SPwDjMPCoBTQCoci
> =Ucbs
> -----END PGP SIGNATURE-----


Thanks for getting back to me on this, John.

I did a bit of browsing in the mail list archive and found that it  
was a deliberate Bazaar design choice not to do platform-specific  
line-ending conversions. Once I had that clear, it became obvious how  
to proceed: a script to run lots of dos2unix calls on dot files in  
the Cygwin home directory. That done, after a bit of trial and error,  
I merged and updated successfully and I had a working repository.  
I've been happily merging back and forth between 5 machines for over  
a week now.

The doco is pretty good, with this one omission that proved  
frustrating for me and delayed me a week. Everything else I've needed  
to know has been findable, and mostly easily findable.

--
Phil Hudson                      PGP/GnuPG ID: 0x887DCA63




More information about the bazaar mailing list