gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] TLA on Cygwin


From: Parker, Ron
Subject: [Gnu-arch-users] TLA on Cygwin
Date: Wed, 17 Sep 2003 17:24:06 -0500

I noticed some comments on the list from July and August related to the path
limits of Windows/Cygwin with respect to tla, but there was no resolution to
the issue, so I thought I would bring up what I have found out and see if
there is -t acceptable solution to this issue.

Basically MAX_PATH on Windows is 260 and the URI limit of Internet Explorer
is 2048.  That is far lower than the MAX_PATH of 4096 from Linux, with its
256-character file and directory name limit.  There are ugly ways to work
around this in Windows.  They involve prepending '\\?\' to all path names
and converting them to UNICODE before passing them to the OS.  While this is
possible, it certainly does not play nicely with Cygwin and some of its
tools, like tar and g(un)zip.  Even some of the Windows API's that are
supposed to support this format do not seem to do so consistently.  Try
going deeper than 260 characters with Explorer.  Making it even worse this
only works on Win2K and WinXP, not on 95/98/ME/NT.

I've done some testing with hacking hackerlab to handle doing this.  I got
past the first few problems only to be tripped up in vu_chmod during an
import.  The issue is that the Cygwin chmod will not work when the full path
length approaches 260-characters.  I tried doing a SetCurrentDirectoryW to
get down to the desired depth and passing only the relative filename to
chmod but it failed anyway.  The problem is that the Cygwin permissions
model is hard to emulate using the pure Windows API, so I hoped chmod would
work in a relative fashion, it does not.  This essentially means that the
whole thing would need to be implemented using only the Windows API, yuck,
yuck and double-yuck!

Every couple years I have broached the subject of supporting the '\\?\'
UNICODE file format within Cygwin, but so far the idea has not been
accepted.

Given all of this, my question is, how objectionable would eliminating the
path name redundancy from arch be?  Something a la
http://lists.fifthvision.net/pipermail/arch-users/2003-July/030199.html
perhaps?  I realize it is essentially changing the arch "protocol", but it
seems far easier than hacking tla or ArX to use the Windows API for all file
work and would improve the portability of the software even to Posixly
incorrect operating systems of which Windows is not the only one.

I really want to see tla (or something like it) succeed as a replacement for
CVS/BK/... but it is going to have to work across diverse architectures in
order to do so.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]