Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Checking out filenames with : in them on windows does not work

6 views
Skip to first unread message

f l

unread,
May 26, 2004, 3:22:30 AM5/26/04
to bug...@gnu.org

Checking out filenames with : in them on windows does
not work (on unix probably does).
Unfortunately this aborts the checkout procedure, I'd
prefer it would skip and continue the rest (or even
better do name mangling for windows.


cvs [checkout aborted]: cannot rename file
_new_bootbackup-2003-07-10_19:41 to
bootbackup-2003-07-10_19:41: Bad address



__________________________________
Do you Yahoo!?
Friends. Fun. Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/


Conrad T. Pino

unread,
May 27, 2004, 4:04:28 PM5/27/04
to Derek Robert Price, bug...@gnu.org
Hi Derek,

> From: Derek Robert Price
>
> I was hoping there was a simpler solution, like a Windows rename
> function that won't choke on files with colons in the name or perhaps
> checking for colons in non-absolute filenames in the wrapper and
> converting the names to absolute forms for the rename.

Windows is picky about file names and colon is on the no-no list:

http://msdn.microsoft.com/library/en-us/fileio/base/naming_a_file.asp

Colon is not alone, don't overlook the reserved names list and the
reserved names list can grow with the addition of a device driver
which makes the reserved name list system installation dependant.

The no-no characters can be checked before a rename and failed without
asking Windows. The reserved names list is something else. The only
realistic strategy is try the rename and do something intelligent when
it fails.

The *nix shell reserves specific characters that can't be used in file
names unless properly quoted or escaped but once that's done the file
system will accept them gladly.

The Windows "shell" reserves characters AND the file system doesn't
accept them either no matter how they're presented.

Colon is legal only as part of Windows drive letter in absolute path.

> Not that I know that either solution would work, mind you. I'm just
> guessing.

I think we're both saying neither one of us has the time to design a
good solution right now.

We don't have a repository now which means I can't generate a patch.

> If you have a Bourne compatible shell installed yes, though I've only
> attempted to run it with the CVS compiled under Cygwin and UNIX style
> paths. I'm not sure what would be necessary to run the Win32 CVS
> through the suite with Windows style paths. If you want to look into it,

I have a old MKS ToolKit shell:

> sh
$ echo $SHELL_VERSION
6.1 build 209 Sep 24 1997 00:57:23
$

As for time all I have this week is an hour here and there.

I still don't now how to run the test suite. Perhaps if you share the
*nix version of the process I could extrapolate.

Does the test suite provide coverage for this issue? If not let's not
bother.

> Cheers,

Ditto,

> Derek

Conrad

Conrad T. Pino

unread,
May 27, 2004, 5:11:51 PM5/27/04
to Derek Robert Price, bug...@gnu.org
Hi Derek,

> From: Derek Robert Price
>
> Actually, I'm now inclined to just tell users not to use filenames
> that are restricted on Windows if they need Windows clients.

I defer to more experienced judgments here. I'm going to assume this
is the direction unless another appears.

> Read the TESTS file. Basically, if you don't have make to run `make
> check', it's `src/sanity.sh <path_to_cvs>'. It also accepts some
> options - run the script without arguments to get a list.

Thank you, I didn't know what the purpose of "TESTS" file was.

> >Does the test suite provide coverage for this issue? If not let's not
> >bother.
>

> It might. I don't know. If not, they would be easy to add. Of
> course, I think the point is moot if we are going to ignore names that
> don't work under Windows anyhow. I've considered remapping file names
> before, so Windows clients could handle files with the same name in
> different case, but mapping sounds like a lot of trouble.

I'll keep that in mind when the time comes.

> Cheers,

Ditto,

> Derek

Conrad

Conrad T. Pino

unread,
May 27, 2004, 6:33:57 PM5/27/04
to Jim.Hyslop, Derek Robert Price, bug...@gnu.org
> Besides, taking Derek's approach allows us to paraphrase the old joke:
> "Doctor, it hurts when I use characters in my file names, that Windows
> doesn't like..."

Evil, truly wickedly evil...

Derek Robert Price

unread,
May 27, 2004, 11:03:54 PM5/27/04
to f l, bug...@gnu.org, Conrad T. Pino, Jim.Hyslop
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

f l wrote:

>Checking out filenames with : in them on windows does
>not work (on unix probably does).
>Unfortunately this aborts the checkout procedure, I'd
>prefer it would skip and continue the rest (or even
>better do name mangling for windows.
>
>
>cvs [checkout aborted]: cannot rename file
>_new_bootbackup-2003-07-10_19:41 to
>bootbackup-2003-07-10_19:41: Bad address


Don't use filenames with colons in them. Colons are restricted
characters in the Windows filesystem.

Derek

- --
*8^)

Email: de...@ximbiot.com

Get CVS support at <http://ximbiot.com>!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFAtqwZLD1OTBfyMaQRAuRLAJ43hi2fG5y2x8qPDTE/qVrIGkjKFACgzlpS
VnjexC0LU7ylF4Oo+kxjACE=
=2vDu
-----END PGP SIGNATURE-----

Derek Robert Price

unread,
May 27, 2004, 4:16:21 PM5/27/04
to Conrad T. Pino, bug...@gnu.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Conrad T. Pino wrote:

>Hi Derek,
>
>>From: Derek Robert Price
>>

>>I was hoping there was a simpler solution, like a Windows rename
>>function that won't choke on files with colons in the name or perhaps
>>checking for colons in non-absolute filenames in the wrapper and
>>converting the names to absolute forms for the rename.
>
>
>Windows is picky about file names and colon is on the no-no list:
>
>http://msdn.microsoft.com/library/en-us/fileio/base/naming_a_file.asp

Actually, I'm now inclined to just tell users not to use filenames
that are restricted on Windows if they need Windows clients.

>We don't have a repository now which means I can't generate a patch.


Latest word is the site will be ready for the final QA pass at 4pm
PDT. Of course, it was going to be ready Monday too. :)

At the least, I'm also told a "Please excuse the delay" page should be
up shortly.

>>If you have a Bourne compatible shell installed yes, though I've only
>>attempted to run it with the CVS compiled under Cygwin and UNIX style
>>paths. I'm not sure what would be necessary to run the Win32 CVS
>>through the suite with Windows style paths. If you want to look
into it,
>
>
>I have a old MKS ToolKit shell:
>
> > sh
> $ echo $SHELL_VERSION
> 6.1 build 209 Sep 24 1997 00:57:23
> $
>
>As for time all I have this week is an hour here and there.
>
>I still don't now how to run the test suite. Perhaps if you share the
>*nix version of the process I could extrapolate.

Read the TESTS file. Basically, if you don't have make to run `make
check', it's `src/sanity.sh <path_to_cvs>'. It also accepts some
options - run the script without arguments to get a list.

>Does the test suite provide coverage for this issue? If not let's not
>bother.


It might. I don't know. If not, they would be easy to add. Of
course, I think the point is moot if we are going to ignore names that
don't work under Windows anyhow. I've considered remapping file names
before, so Windows clients could handle files with the same name in
different case, but mapping sounds like a lot of trouble.

Cheers,

Derek

- --
*8^)

Email: de...@ximbiot.com

Get CVS support at <http://ximbiot.com>!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFAtkyULD1OTBfyMaQRAsIvAJ9Haw4ZtzLtaXgm+gJVlaSEhx+ptgCgoysz
yqdg+SGKwTHw5gVJ35qtDHc=
=BhR6
-----END PGP SIGNATURE-----

Derek Robert Price

unread,
May 28, 2004, 9:05:26 AM5/28/04
to f l, Conrad T. Pino, bug...@gnu.org
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

You're welcome to submit a patch, bat as far as we understand things,
there would be a lot of work involved to fix this. There's no point
in dealing with only colons - you'd have to deal with all the
restricted characters under Windows and, possibly, even files with the
same name and different cases, which are different under UNIX and not
under Windows.

It's possible that you could go with a very simple map, perhaps using
_ as an escape character, but I think any such change would be fairly
deep.

Any such patch would need to include documentation and test cases for
the test suite as well, as per HACKING. It's possible that
evangelization might find you someone to write your patch for you, but
no one appears to be jumping at this now so you would probably need to
write it yourself to get it fixed.

You might consider some more work on your UNIX guys. Get them to
change their file names or put you on a UNIX box yourself.

Cheers,

Derek

f l wrote:

>True but the damage is already done and the unix guys
>couldn't care less.
>So now I'm out of luck on my windows box :(


>
>--- Derek Robert Price <de...@ximbiot.com> wrote:
>

> f l wrote:
>
> >Checking out filenames with : in them on windows
>
> does
>
> >not work (on unix probably does).
> >Unfortunately this aborts the checkout procedure,
>
> I'd
>
> >prefer it would skip and continue the rest (or even
> >better do name mangling for windows.
>
>
> >cvs [checkout aborted]: cannot rename file
> >_new_bootbackup-2003-07-10_19:41 to
> >bootbackup-2003-07-10_19:41: Bad address
>
>
> Don't use filenames with colons in them. Colons are
> restricted
> characters in the Windows filesystem.
>
> Derek
>

> --
> *8^)
>
> Email: de...@ximbiot.com
>
> Get CVS support at <http://ximbiot.com>!

>__________________________________
>Do you Yahoo!?
>Friends. Fun. Try the all-new Yahoo! Messenger.
>http://messenger.yahoo.com/

- --
*8^)

Email: de...@ximbiot.com

Get CVS support at <http://ximbiot.com>!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFAtzkVLD1OTBfyMaQRAozyAJ9u5VJd+sjQqlt6lMXTKodCoYqqxgCgtBSH
k/kEpayWJSxbAHbO7Fx5xSs=
=/ZA2
-----END PGP SIGNATURE-----

0 new messages