← Back to team overview

ocaml-maint team mailing list archive

[Bug 1332739] [NEW] EXE files and directories confused with cygwin

 

Public bug reported:

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/funtask/README.txt
/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/funtask/README.txt
/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.

** Affects: unison (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Debian
OCaml Maintainers, which is subscribed to unison in Ubuntu.
https://bugs.launchpad.net/bugs/1332739

Title:
  EXE files and directories confused with cygwin

Status in “unison” package in Ubuntu:
  New

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/funtask/README.txt
  /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/funtask/README.txt
  /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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unison/+bug/1332739/+subscriptions


Follow ups

References