EXE files and directories confused with cygwin
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
unison (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
This is probably an incompatibility between cygwin and unison that simply should be documented or perhaps have the code produce an error message indicating the likely cause of the problem.
Start with a windows machine running cygwin and Unison. (In my case Win7.)
Create a tree like the following
/mydir/
/mydir/FUNTASK.EXE
Use unison against this directory and sync to a Linux machine
You will see it try to create the following on the Linux machine and fail.
/mydir/
/mydir/FUNTASK.EXE
/mydir/funtask ; which has the same content as FUNTASK.EXE
because obviously /mydir/funtask can't be both a file and a directory at the same time. The error message is "Destination updated during synchronization". A .unison.... file is created as a place holder for the file/directory that was not created.
It seems something in unison and the cygwin libraries it uses try to create a funtask file with the same contents as FUNTASK.EXE. If I look back at the PC, neither the ls command in cygwin nor the Windows Explorer shows a "funtask" "file". 'just the directory.
If this behavior can't be helped due to the cygwin libraries, then it would be good to document it and/or update the code to at least tell the user what is possibly happening. It would be great to find a way to fix it though because it's such an obscure and unexpected problem, users are unlikely to be able to figure out what's going on without some additional clues.