- Appended to comment:
drh added on 2009-09-13 16:21:13:
The patch shown above turns out to work. Fixed by check-in 42bf80978d9740dbac8c762033348fbb1da9b0de. - Change resolution to "Fixed"
- Change status to "Fixed"
- Appended to comment:
drh added on 2009-09-13 11:47:15:
I think that the following patch may be sufficient to fix this:--- src/file.c +++ src/file.c @@ -244,10 +244,11 @@ ** Convert /A/../ to just / */ void file_canonical_name(const char *zOrigName, Blob *pOut){ if( zOrigName[0]=='/' #ifdef __MINGW32__ + || zOrigName[0]=='\\' || (strlen(zOrigName)>3 && zOrigName[1]==':' && (zOrigName[2]=='\\' || zOrigName[2]=='/')) #endif ){ blob_set(pOut, zOrigName);
I will strive to boot up a copy of windows this afternoon and try it out. In the meantime, a work-around might be to use forward slashes ("/") instead of backslashes ("\") in the pathname, at least for the first character of an absolute pathname.
- Change resolution to "Open"
- Change comment to "<nowiki> Attempt #1 to open a repository in Windows: <pre> e:\source\c\fossil>fossil open \Source\Repositories\fossil.fsl fossil: repository does not exist or is in an unreadable directory: E:/Source/C/fossil/Source/Repositories/fossil.fsl </pre> Attempt #2: <pre> e:\source\c\fossil>fossil open E:\Source\Repositories\fossil.fsl BUILD.txt COPYRIGHT-GPL2.txt Makefile Makefile.w32 art/CollRev1.dia art/CollRev2.dia art/CollRev3.dia art/CollRev4.dia art/branching.odp . . . </pre> It bizarrely assumes that a path with an opening backslash is relative to the current path instead of relative to the drive root like it should. It seems fossil only recognizes a full path specification if it includes device names. This is a Bad Idea. It makes me wonder how it handles UNC or UNCW paths as well: <pre> \\Computer\SharedFolder\Path\To\Destination\File \\?\UNC\Computer\SharedFolder\Path\To\Destination\File. </pre> (I have no way of testing that at the moment as the Windows machine I'm using is not on a network with any other Windows machines.) </nowiki>"
- Change foundin to "713b8be852"
- Change private_contact to "e64e062ff7022fc7fdd41ac56baff07e8ae485d9"
- Change severity to "Minor"
- Change status to "Open"
- Change title to "Fossil does not handle absolute paths without disk drives in Windows."
- Change type to "Code_Defect"