[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [TSVN] any subdirectory named aux breaks a tortoisesvn checkout

From: Jon Foster <jon_at_jon-foster.co.uk>
Date: 2004-08-22 15:59:29 CEST

Hi,

A quick google (on "aux con prn site:microsoft.com") gives the Windows file naming
rules:

http://www.microsoft.com/technet/itsolutions/migration/unix/unixbld/unixbld4.mspx
> Certain file names are reserved in the Win32 subsystem (and, therefore, the
> reservations apply in the MKS and Cygwin environments). The following reserved
> device names cannot be used as the name of a file: CON, PRN, AUX, CLOCK$, NUL,
> COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4,
> LPT5, LPT6, LPT7, LPT8, and LPT9. You must avoid using these names as a file
> name suffix or file name body, so you have to avoid names such as aux.c,
> file.aux or NUL.txt.

And, similarly (but not quite the same rules [sigh] - file.aux is illegal according
to the above but legal according to the following):

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/naming_a_file.asp
> * Backslashes (\) are used to separate components in paths (dividing the
> file name from the path to it, or directories from one another in a path).
> You cannot use them in file or directory names, however, they may be
> required as part of volume names — for example, "C:\". Note that UNC names
> must adhere to the following format: \\<server>\<share>.
> * Use any character in the current code page for a name, except characters
> in the range 0 through 31 or any character explicitly disallowed by the file
> system. A name can contain characters in the extended character set (128–255).
> However, it cannot contain the following reserved characters:
> < > : " / \ |
> * The following reserved device names cannot be used as the name of a file:
> CON, PRN, AUX, NUL,
> COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9,
> LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9.
> Also avoid these names followed by an extension (for example, NUL.tx7).
>
> Windows NT: CLOCK$ is also a reserved device name.
>
> * Do not assume case sensitivity. Consider names such as OSCAR, Oscar, and
> oscar to be the same.
> * Do not end a file or directory name with a trailing space or a period.
> Although the underlying file system may support such names, the operating
> system does not.

This is probably a SVN issue rather than a TSVN one. Actually, it's really
a Microsoft issue...

Kind regards,

Jon

Alex Martelli wrote:
> Hi there,
>
> my wife and I are cooperating on some book-writing and for revision control
> purposes we keep all materials under SVN, using mostly linux and occasionally
> a Mac or two. Recently she was trying to get checkouts on a laptop that only
> runs Windows XP, so she installed TortoiseSVN and used that. Result: fine on
> some projects, death in the middle of checkout on others, with a message box
> stating without explanation some error about creating a subdirectory.
>
> After a while it dawned on me: the death effect was invariably whenever the
> attempt was being made to create a subdirectory named aux. I vaguely
> remember from having to work on Windows years ago that you just couldn't use
> certain filenames (assigned to physical devices and parsed in an absurd way
> ignoring directory path) and maybe 'aux' was one of them. Is this limitation
> still with Win/XP in 2004?! I.e. there's NO WAY a program running on Win/XP
> can create a subdirectory named 'aux'?! Well, if so, then I think
> TortoiseSVN should have a workaround for this absurd Windows XP limitation
> (which sends me back to my beloved Linux and Mac in much relief;-) -- say a
> list of "known to be absurdly forbidden everywhere" filenames such as 'aux',
> 'lpt1' (wasn't that another one of those magic names?), etc, and some code to
> rename somehow when such a name occurs (say to 'aux_' and so on). [[Or maybe
> Windows offers several ways to create directories and TortoiseSVN just
> happens to use one that doesn't work for a directory named 'aux' whereas
> other equivalent ways might work...?]]
>
> After all, in this case I can and did work around the problem (with svn rm)
> because the project is entirely under my control, but what does a Windows
> user do if they need to work on a project that's kept under Subversion and
> has a lot of subdirectories named 'aux' (quite a reasonable name for a dir to
> keep auxiliary stuff I think...) -- if the project admins, maybe catering
> mostly to Linux or Mac crowds, aren't willing to perform massive renamings to
> work around this weird Windows limitation...?
>
> Anyway, just thought the problem was weird and interesting enough to share it,
> it's not as if I need a solution to it myself urgently (if I when I end up
> with a windows-only laptop, on a coding sprint or something, on a project
> using SVN and with some directories named 'aux' or whatever, I may feel
> different, but I think I'll just pray my trusty iBook doesn't let me down;-).
>
>
> Thanks,
>
> Alex
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
> For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Sun Aug 22 17:03:39 2004

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.