On 10/4/2016 9:22 AM, Pierpaolo Bernardi wrote:
On Tue, Oct 4, 2016 at 6:15 PM, Richard Hipp <d...@sqlite.org> wrote:
See https://www.fossil-scm.org/aux-test/doc/trunk/aux.md

Apparently if a Fossil repository contains a file whose basename is
"aux", then an attempt to open or check-out that repo fails with an
error.  Only the basename needs to be "aux".  The full name can be
things like "src/aux.c" or "doc/aux.txt".

Does anybody know of a reasonable work-around?

According to this page, it looks like it can be done:


The "official" story currently can be found here:


The bottom line remains the same, though. Due to a long chain of "reasonable at the time" backward compatibility decisions, there is a list of names that are recognized by the Windows API and cannot be file names. Some of those names were defined by DOS 1.0 and inherited from CP/M. So that is a *long* history.

There are also ways to get around that. The blog post suggested a path prefixed by \\.\ would work. That might, but that prefix is documented for access to device drivers. There is also the \\?\ prefix, which can be used to get around the MAX_PATH length limit, and which sidesteps most parsing of the path name as a result.

The best advice is to not use those reserved names for either files or folders in repositories that will be used on Windows.

But in practice these are forbidden names in windows, the only
reasonable path is to rename these files to something else.

Although rare, it is possible for a suitably privileged user (likely through a badly thought out device driver) to create more such names.

fossil-users mailing list

Ross Berteig                               r...@cheshireeng.com
Cheshire Engineering Corp.           http://www.CheshireEng.com/
+1 626 303 1602
fossil-users mailing list

Reply via email to