diff options
author | Benjamin C. Pierce <bcpierce@cis.upenn.edu> | 2007-04-02 02:56:04 +0000 |
---|---|---|
committer | Benjamin C. Pierce <bcpierce@cis.upenn.edu> | 2007-04-02 02:56:04 +0000 |
commit | bc7bde07cc42ffc103a1ef6359430a14402eea55 (patch) | |
tree | 677356fb2b6544c105e93415997f5b2ced52f6cb | |
parent | fa55badf2c020bd24868bcfcf956390ae334a9b9 (diff) | |
download | unison-bc7bde07cc42ffc103a1ef6359430a14402eea55.zip unison-bc7bde07cc42ffc103a1ef6359430a14402eea55.tar.gz unison-bc7bde07cc42ffc103a1ef6359430a14402eea55.tar.bz2 |
* Tidied documentation in preparation for new release.
-rw-r--r-- | doc/changes.tex | 14 | ||||
-rwxr-xr-x | doc/unison-manual.tex | 4 | ||||
-rw-r--r-- | src/RECENTNEWS | 116 | ||||
-rw-r--r-- | src/mkProjectInfo.ml | 1 | ||||
-rw-r--r-- | src/update.ml | 8 |
5 files changed, 22 insertions, 121 deletions
diff --git a/doc/changes.tex b/doc/changes.tex index 26db883..e1da887 100644 --- a/doc/changes.tex +++ b/doc/changes.tex @@ -85,6 +85,20 @@ per-path basis. [Thanks to Alan Schmitt for this.] \item Many small bugfixes, including: \begin{itemize} +\item Fixed a longstanding bug regarding fastcheck and daylight saving time + under Windows when Unison is set up to synchronize modification times. + (Modification times cannot be updated in the archive in this case, + so we have to ignore one hour differences.) +\item Fixed a bug that would occasionally cause the archives to be left in + non-identical states on the two hosts after synchronization. +\item Fixed a bug that prevented Unison from communicating correctly between + 32- and 64-bit architectures. +\item On windows, file creation times are no longer used as a proxy for + inode numbers. (This is unfortunate, as it makes fastcheck a little less + safe. But it turns out that file creation times are not reliable + under Windows: if a file is removed and a new file is created in its + place, the new one will sometimes be given the same creation date as the + old one!) \item Set read-only file to R/W on OSX before attempting to change other attributes. \item Fixed bug resulting in spurious "Aborted" errors during transport (thanks to Jerome Vouillon) diff --git a/doc/unison-manual.tex b/doc/unison-manual.tex index 4022162..ae7ad0b 100755 --- a/doc/unison-manual.tex +++ b/doc/unison-manual.tex @@ -2026,8 +2026,8 @@ to \verb|default| (which, naturally, is the default), Unison will use fast checks on Unix replicas and slow checks on Windows replicas. This strategy may cause Unison to miss propagating an update if the -create time, modification time, and length of the file are all unchanged -by the update (this is not easy to achieve, but it can be done). + modification time and length of the file are both unchanged +by the update. However, Unison will never {\em overwrite} such an update with a change from the other replica, since it always does a safe check for updates just before propagating a change. Thus, it is reasonable to use this diff --git a/src/RECENTNEWS b/src/RECENTNEWS index eee1089..43d6a92 100644 --- a/src/RECENTNEWS +++ b/src/RECENTNEWS @@ -1,118 +1,4 @@ -CHANGES FROM VERSION 2.27.6 - -* Set Fileinfo.CtimeStamp to 0, always, following suggestion by Jerome. - -------------------------------- -CHANGES FROM VERSION 2.27.5 - -* Truncate inode numbers to 31 bits, so that they can be transferred - between 32 and 64 bit versions of Unison. -* Suggests to use the "perms" option (with a suitable value) - when synchronizing permissions fails (for instance on a FAT - filesystem under Unix) - -------------------------------- -CHANGES FROM VERSION 2.27.4 - -* Don't crash when 'merge' is invoked on a new file. - - -------------------------------- -CHANGES FROM VERSION 2.27.3 - -* Updates to Win32 installation instructions - -* Corrections to documentation (thanks to Loic Kerloch) - -* Updates to BUGS.txt - -------------------------------- -CHANGES FROM VERSION 2.27.2 - -* Fix bug with case insensitive mode on case sensitive file systems -* Uigtk2: hide the "View details" button rather than making it insensitive - (I find this button a bit confusing as is not clear what it is - supposed to do) -* When deleting a directory, do not skip any file (neither temporary - files nor lone appledouble files). We used to skip temporary files - corresponding to a different pair of roots, but this makes the - directory deletion fail. - -------------------------------- -CHANGES FROM VERSION 2.27.1 - -* Fixed bug regarding fastcheck and daylight saving time under Windows - when Unison is setup to synchronize modification times. - (Modification times cannot be updated in the archive in this case, - thus we have to ignore one hour differences.) -* In Name.fromString, raise a transient error rather than an invalid - argument error when a filename contains a slash '/' (this can occur - under Windows when using some multibyte character encodings). -* Fail when a path does not point to anywhere in the filesystem, rather - that reporting an error for this path. Indeed, the archives can be left - in a non-identical state in this case. -* Some clean-up in Files.checkContentsChangeLocal. In particular, put - the suggestion to disable fastcheck in a case where it can - actually be reported to the user. - -------------------------------- -CHANGES FROM VERSION 2.27.0 - -* Fixed bug with synchronizing resource forks toward a Windows machine - (open fails with a an error ENOENT rather than ENOTDIR for non - existing directories under Windows) -* Only protects the two Os.rename with the commit log, in order the - minimize the likelihood of the DANGER.README file to remain. - (The backups and the deletion of the moved destination file can be - safely performed without commit log.) -* GTK2 UI: make sure root names are in Unicode format for displaying them. - -------------------------------- -CHANGES FROM VERSION 2.27.-1 - -Bump version number, following Jerome's protocol change. - -------------------------------- -CHANGES FROM VERSION 2.26.18 - -* Improved error messages when a Unison server cannot bind to the given port. - -------------------------------- -CHANGES FROM VERSION 2.26.17 - -* Removed Fspath.fullLocalPath, which does not work with symbolic - links. Pass the local path along instead. - -------------------------------- -CHANGES FROM VERSION 2.26.16 - -* Hopefully fixed problem with ressource forks on a FAT filesystem on - Mac OS X: we now check that the getattrlist system call actually - returned the requested information. - - (Could someone check that this code at least compiles: I don't have - access to a Mac OS X machine at the moment.) - -------------------------------- -CHANGES FROM VERSION 2.26.15 - -* Incorporated a patch from Karl M. that clears the main window in the - GTK2 UI when update detection is restarted. - -------------------------------- -CHANGES FROM VERSION 2.26.14 - -* Incorporated a patch from Kevin Ballard that turns off the "auto" - flag when the user says "No" to the "Proceed with updates" question in - the text UI. (This makes 'auto' more useful.) - -------------------------------- -CHANGES FROM VERSION 2.26.13 - -* Fix crash reported by Chris Greene on incorrect root specification. - -------------------------------- -CHANGES FROM VERSION 2.26.12 +CHANGES FROM VERSION 2.27.7 * Tidied documentation in preparation for new release. diff --git a/src/mkProjectInfo.ml b/src/mkProjectInfo.ml index 663092b..e8ab8bc 100644 --- a/src/mkProjectInfo.ml +++ b/src/mkProjectInfo.ml @@ -107,3 +107,4 @@ Printf.printf "NAME=%s\n" projectName;; + diff --git a/src/update.ml b/src/update.ml index 6ca35c0..2dfe03e 100644 --- a/src/update.ml +++ b/src/update.ml @@ -939,13 +939,13 @@ let fastcheck = Prefs.createString "fastcheck" "default" "do fast update detection (`true', `false', or `default')" ( "When this preference is set to \\verb|true|, \ - Unison will use file creation times as `pseudo inode numbers' \ + Unison will use the modification time and length of a file as a + `pseudo inode number' \ when scanning replicas for updates, \ instead of reading the full contents of every file. Under \ Windows, this may cause Unison to miss propagating an update \ - if the create time, modification time, and length of the \ - file are all unchanged by the update (this is not easy to \ - achieve, but it can be done). However, Unison will never \ + if the modification time and length of the \ + file are both unchanged by the update. However, Unison will never \ {\\em overwrite} such an update with a change from the other \ replica, since it always does a safe check for updates just \ before propagating a change. Thus, it is reasonable to use \ |