summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin C. Pierce <bcpierce@cis.upenn.edu>2007-04-02 02:56:04 +0000
committerBenjamin C. Pierce <bcpierce@cis.upenn.edu>2007-04-02 02:56:04 +0000
commitbc7bde07cc42ffc103a1ef6359430a14402eea55 (patch)
tree677356fb2b6544c105e93415997f5b2ced52f6cb
parentfa55badf2c020bd24868bcfcf956390ae334a9b9 (diff)
downloadunison-bc7bde07cc42ffc103a1ef6359430a14402eea55.zip
unison-bc7bde07cc42ffc103a1ef6359430a14402eea55.tar.gz
unison-bc7bde07cc42ffc103a1ef6359430a14402eea55.tar.bz2
* Tidied documentation in preparation for new release.
-rw-r--r--doc/changes.tex14
-rwxr-xr-xdoc/unison-manual.tex4
-rw-r--r--src/RECENTNEWS116
-rw-r--r--src/mkProjectInfo.ml1
-rw-r--r--src/update.ml8
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 \