diff options
author | Benjamin C. Pierce <bcpierce@cis.upenn.edu> | 2012-04-02 15:53:27 +0000 |
---|---|---|
committer | Benjamin C. Pierce <bcpierce@cis.upenn.edu> | 2012-04-02 15:53:27 +0000 |
commit | bcc60ef0ffd83373d9c745efa2f822fa45afe4e6 (patch) | |
tree | 842ca40ac98a28f4d9de6f1cef40802ba648a1a6 | |
parent | cf72947cd027f456ab0c7cdbf305428d7ffc3360 (diff) | |
download | unison-bcc60ef0ffd83373d9c745efa2f822fa45afe4e6.zip unison-bcc60ef0ffd83373d9c745efa2f822fa45afe4e6.tar.gz unison-bcc60ef0ffd83373d9c745efa2f822fa45afe4e6.tar.bz2 |
* Preparation for beta release
-rw-r--r-- | doc/changes.tex | 61 | ||||
-rw-r--r-- | src/INSTALL.win32-msvc | 2 | ||||
-rw-r--r-- | src/RECENTNEWS | 303 | ||||
-rw-r--r-- | src/copy.mli | 2 | ||||
-rw-r--r-- | src/globals.ml | 2 | ||||
-rw-r--r-- | src/mkProjectInfo.ml | 5 | ||||
-rw-r--r-- | src/uicommon.ml | 4 | ||||
-rw-r--r-- | src/uicommon.mli | 2 | ||||
-rw-r--r-- | src/uimacnew09/MyController.m | 2 |
9 files changed, 74 insertions, 309 deletions
diff --git a/doc/changes.tex b/doc/changes.tex index a1d1fa1..cb27771 100644 --- a/doc/changes.tex +++ b/doc/changes.tex @@ -1,3 +1,64 @@ +\begin{changesfromversion}{2.40.63} +\item New preference {\tt fastercheckUNSAFE}, which can be used (with care!) +to achieve {\em much} faster update detection when all the common files in +the two replicas are known to be identical. See the manual for more +information. + +This feature should still be considered experimental, but it's ready for +other people to try out. +\item Added option {\tt clientHostName}. If specified, it will be used to as +the client host name, overriding {\tt UNISONLOCALHOSTNAME} and the actual +host name. +\item OS X GUI: +\begin{itemize} +\item fix crash under Lion, because of problems with the toolbar, using the +fix suggested in {\tt http://blitzbasic.com/Community/posts.php?topic=95778}. + +\item uimacnew09 is now the standard graphical interface on OSX +\item A small improvement to the uimacnew09 interface from Alan Schmitt + and Steve Kalkwarf: when Unison is run with the -batch flag, the + interface will now automatically propagate changes and terminate, + without waiting for user interaction. +\item Show a modal warning window if there is no archive for the hosts. The +user can then choose to exit or proceed (proceed is the default). The window +is not shown if the {\tt batch} preference is true. +\item file details panel selectable +\end{itemize} +\item GTK GUI: +\begin{itemize} +\item New version of uigtk2.ml from Matt Zagrabelny that reorganizes the +icons in a slightly more intuitive way. +\end{itemize} +\item Minor fixes: +\begin{itemize} +\item Setting the {\tt prefer} preference to {\tt older} or {\tt newer} now +propagates deletions when there is no conflict. +\item Correctly quote the path when running merge commands. +\item Add quotes to paths when calling external file watcher utility. +\item Incorporate a patch to fsmonitor.py (the external filewatcher + utility) from Tomasz Zernicki to make it work better under Windows. +\item Incorporated new version of fsmonitor.py from Christophe Gohle +\item Fixed incompatibility with OpenSSH 5.6. +\item Fixed fingerprint cache: do not cache file properties +\item Some spelling corrections in documentation and comments from Stephane +Glondu +\item Fixed O_APPEND mode for open under Windows (the previous attempt in + revision 422 was incomplete) +\item Fixed String.sub invalid argument error when an AppleDouble file does + not contain a finder information field +\item Trim duplicate paths when using "-repeat watch" +\item Unison now passes path arguments and --follow directives to + fsmonitor.py. This seems to work except for one small issue with + how fsmonitor.py treats {\tt -follow} directives for directories that + don't exist (or maybe this is an issue with how it treats any kind + of monitoring when the thing being monitored doesn't exist?). If we + create a symlink to a nonexistant directory, give Unison (hence + fsmonitor.py) a 'follow' directive for the symlink, start unison, and + {\em then} create the directory, fsmonitor.py misses the change. +\item Lines added in profile files by unison always start at a new line +\end{itemize} +\end{changesfromversion} + \begin{changesfromversion}{2.40.1} \item Added "BelowPath" patterns, that match a path as well as all paths below (convenient to use with no{deletion,update,creation}partial preferences) diff --git a/src/INSTALL.win32-msvc b/src/INSTALL.win32-msvc index a425a0f..e519532 100644 --- a/src/INSTALL.win32-msvc +++ b/src/INSTALL.win32-msvc @@ -475,7 +475,7 @@ directories and files or processing names supplied by the user: Appendix D - Windows icons - Here are some general informations on how to make your Windows + Here is some general information on how to make your Windows program have a nice icon. * What we mean by icon is a set of bitmaps that are displayed by diff --git a/src/RECENTNEWS b/src/RECENTNEWS index 66b7db8..05a3176 100644 --- a/src/RECENTNEWS +++ b/src/RECENTNEWS @@ -1,305 +1,6 @@ -CHANGES FROM VERSION 2.44.12 +CHANGES FROM VERSION 2.45.-1 -* Update copyright dates +* Preparation for beta release -* Add quotes to paths when calling external file watcher utility - -------------------------------- -CHANGES FROM VERSION 2.44.11 - -* Correctly quote the path when running merge commands - -------------------------------- -CHANGES FROM VERSION 2.44.10 - -* Added option clientHostName. If specified, it will be used to as the client - host name, overriding UNISONLOCALHOSTNAME and the actual host name. - -------------------------------- -CHANGES FROM VERSION 2.44.9 - -- OS X GUI: fix crash under Lion, because of problems with the toolbar, using - the fix suggested in http://blitzbasic.com/Community/posts.php?topic=95778. - -- OS X GUI: show a modal warning window if there is no archive for the hosts. - The user can then choose to exit or proceed (proceed is the default). The - window is not shown if "batch" is true. - -------------------------------- -CHANGES FROM VERSION 2.44.8 - -* Change uimacnew09 icon to classic "U with arrows" - -* Incorporate a patch to fsmonitor.py (the external filewatcher - utility) from Tomasz Zernicki to make it work better under Windows. -------------------------------- -CHANGES FROM VERSION 2.44.6 - -* A small improvement to the uimacnew09 interface from Alan Schmitt - and Steve Kalkwarf: when Unison is run with the -batch flag, the - interface will now automatically propagate changes and terminate, - without waiting for user interaction. - -* uimacnew09 is now the standard graphical interface on OSX -------------------------------- -CHANGES FROM VERSION 2.44.5 - -- uimacnew09: file details panel selectable -- uimacnew09: automatically quit when done synchronizing if called from the command line with "-batch" - -------------------------------- -CHANGES FROM VERSION 2.44.4 - -- fixed a bug when calling the Unison macnew09 GUI from the command line with a profile specified -- now possible to use the "-batch" option when calling the macnew09 GUI on the command line - -------------------------------- -CHANGES FROM VERSION 2.44.2 - -* Some spelling corrections in documentation and comments from Stephane Glondu - -------------------------------- -CHANGES FROM VERSION 2.44.0 - -* Small patch from Stephane Glondu to make Unison compile with Ocaml 3.12. - -* New version of uigtk2.ml from Matt Zagrabelny that reorganizes the - icons in a slightly more intuitive way. - -* Finished implementing the "fastercheckUNSAFE" option, which can be - used (with care!) to achieve *much* faster update detection when all - the common files in the two replicas are known to be identical. See - the documentation for more information. - - This feature should still be considered experimental, but it's ready - for other people to try out. - -------------------------------- -CHANGES FROM VERSION 2.43.12 - -* Small patch from Stephane Glondu to make Unison compile with Ocaml 3.12. - -* New version of uigtk2.ml from Matt Zagrabelny that reorganizes the - icons in a slightly more intuitive way. - -* Incorporated new version of fsmonitor.py from Christophe Gohle - -------------------------------- -CHANGES FROM VERSION 2.43.10 - -* Fixed incompatibility with OpenSSH 5.6. - -------------------------------- -CHANGES FROM VERSION 2.43.7 - -* Fixed fingerprint cache: do not cache file properties -* Fixed O_APPEND mode for open under Windows (the previous attempt in - revision 422 was incomplete) -* Fixed String.sub invalid argument error when an AppleDouble file does - not contain a finder information field - -------------------------------- -CHANGES FROM VERSION 2.43.6 - -* A small fix suggested by Jerome. Still thinking about what needs to - change to get newly created files to transfer without failing. - -------------------------------- -CHANGES FROM VERSION 2.43.0 - -* See if we can get revisionString to update automatically now... - -------------------------------- -CHANGES FROM VERSION 2.43.0 - -* Bump revisionString -- not sure why this isn't happening automatically. - -------------------------------- -CHANGES FROM VERSION 2.43.-30 - -* Experimental implementation of a new "faster check" mode for update - detection. When this mode is enabled (by running with - 'fastercheckUNSAFE=true'), Unison will skip calculating fingerprints - of the contents of files that it has not seen before -- it just uses - the file's size as a pseudo-fingerprint, allowing the archives to be - built very quickly. - - This feature has not been extensively tested -- if you use it on - live replicas, please pay careful attention to what Unison is doing. - Also, note that the cost of faster update detection is that it is - possible Unison will miss a conflict; this flag should be used only - when the replicas are known to be identical. - - Here's the full documentation. - -let fastercheckUNSAFE = - Prefs.createBool "fastercheckUNSAFE" - false "!skip computing fingerprints for new files (experts only!)" - ( "THIS FEATURE IS STILL EXPERIMENTAL AND SHOULD BE USED WITH EXTREME CAUTION. " - ^ "\n\n" - ^ "When this flag is set to {\\tt true}, Unison will compute a 'pseudo-" - ^ "fingerprint' the first time it sees a file (either because the file is " - ^ "new or because Unison is running for the first time). This enormously " - ^ "speeds update detection, but it must be used with care, as it can cause " - ^ "Unison to miss conflicts: If " - ^ "a given path in the filesystem contains files on {\\em both} sides that " - ^ "Unison has not yet seen, and if those files have the same length but different " - ^ "contents, then Unison will not notice the presence of a conflict. If, later, one " - ^ "of the files is changed, the changed file will be propagated, overwriting " - ^ "the other. " - ^ "\n\n" - ^ "Moreover, even when the files are initially identical, setting this flag can lead " - ^ "to potentially confusing behavior: " - ^ "if a newly created file is later touched without being modified, Unison will " - ^ "treat this " - ^ "conservatively as a potential change (since it has no record of the earlier " - ^ "contents) and show it as needing to be propagated to the other replica. " - ^ "\n\n" - ^ "Most users should leave this flag off -- the small time savings of not " - ^ "fingerprinting new files is not worth the cost in terms of safety. However, " - ^ "it can be very useful for power users with huge replicas that are known to " - ^ "be already synchronized (e.g., because one replica is a newly created duplicate " - ^ "of the other, or because they have previously been synchronized with Unison but " - ^ "Unison's archives need to be rebuilt). In such situations, it is recommended " - ^ "that this flag be set only for the initial run of Unison, so that new archives " - ^ "can be created quickly, and then turned off for normal use.") - -------------------------------- -CHANGES FROM VERSION 2.43.-29 - -* Added support for "pseudo-fingerprints", as a first step to - implementing super-fast initial scans, following recent discussion - on the unison-hackers list - -------------------------------- -CHANGES FROM VERSION 2.42.-29 - -* Small patch from Stephane Glondu to make Unison compile with Ocaml 3.12. - - -------------------------------- -CHANGES FROM VERSION 2.41.-27 - -* Try again to fix version number - - - - - -------------------------------- -CHANGES FROM VERSION 2.41.-27 - -* Fix version number - - - - - -------------------------------- -CHANGES FROM VERSION 2.41.-28 - -* Trim duplicate paths when using "-repeat watch" - -* Bump version number, since protocol has changed (should have done - this a few commits ago) - - - - - -------------------------------- -CHANGES FROM VERSION 2.40.16 - -* Correct a bug in the watcher startup code for remote sync - - - - - -------------------------------- -CHANGES FROM VERSION 2.40.16 - -* Unison now passes path arguments and --follow directives to - fsmonitor.py. This seems to work except for one small issue with - how fsmonitor.py treats --follow directives for directories that - don't exist (or maybe this is an issue with how it treats any kind - of monitoring when the thing being monitored doesn't exist?). If I - create a symlink to a nonexistant directory, give Unison (hence - fsmonitor.py) a 'follow' directive for the symlink, start unison, and - *then* create the directory, fsmonitor.py misses the change. - - - - - -------------------------------- -CHANGES FROM VERSION 2.40.16 - -* More progress on file watching -* Add external fsmonitor.py script to svn repo - -* If you want to play with the filewatching functionality, here's - what you do: - - add fsmonitor.py to your search path (or make a symlink to - it from somewhere on your search path) on both machines that - you're going to synchronize - - recompile the text ui ('make text') on both machines - - start unison with "-repeat watch" on the command line - - -------------------------------- -CHANGES FROM VERSION 2.40.16 - -* Progress on filesystem watching (see uitext.ml) - -* Update copyright dates, while I'm thinking about it :-) - - - - - -------------------------------- -CHANGES FROM VERSION 2.40.16 - -* Progress on filesystem watching (see uitext.ml) - -* Update copyright dates, while I'm thinking about it :-) - - - - - -------------------------------- -CHANGES FROM VERSION 2.40.16 - -* One more fix to Unicode case sensitive mode - -------------------------------- -CHANGES FROM VERSION 2.40.16 - -Lines added in profile files by unison always start at a new line - -------------------------------- -CHANGES FROM VERSION 2.40.16 - -* Fix to Unicode case sensitive mode (call the right function for - comparing file names). -* "prefer = older/newer" now propagates deletions when there is no - conflict - -------------------------------- -CHANGES FROM VERSION 2.40.16 - -* Fixed Unicode decomposition tables - -------------------------------- -CHANGES FROM VERSION 2.40.16 - -Move old 2.40 branch aside to make room for a new beta version with -same major number -------------------------------- -CHANGES FROM VERSION 2.40.16 - -Update documentation ------------------------------- diff --git a/src/copy.mli b/src/copy.mli index 9dcbcc5..7df1aba 100644 --- a/src/copy.mli +++ b/src/copy.mli @@ -11,7 +11,7 @@ val file : -> Props.t (* permissions for new file *) -> Os.fullfingerprint (* fingerprint of file *) -> Fileinfo.stamp option (* source file stamp, if available *) - -> Osx.ressStamp (* ressource info of file *) + -> Osx.ressStamp (* resource info of file *) -> Uutil.File.t (* file's index in UI (for progress bars) *) -> Fileinfo.t Lwt.t (* information regarding the transferred file *) diff --git a/src/globals.ml b/src/globals.ml index 0fb07a5..05c0df4 100644 --- a/src/globals.ml +++ b/src/globals.ml @@ -302,5 +302,5 @@ let fatFilesystem = do not attempt to synchronize symbolic links ({\\tt links = false}); \ ignore inode number changes when detecting updates \ ({\\tt ignoreinodenumbers = true}). \ - Any of these change can be overridden by explicitely setting \ + Any of these change can be overridden by explicitly setting \ the corresponding preference in the profile.") diff --git a/src/mkProjectInfo.ml b/src/mkProjectInfo.ml index c1780e3..ba81044 100644 --- a/src/mkProjectInfo.ml +++ b/src/mkProjectInfo.ml @@ -5,8 +5,8 @@ let projectName = "unison" let majorVersion = 2 -let minorVersion = 44 -let pointVersionOrigin = 471 (* Revision that corresponds to point version 0 *) +let minorVersion = 45 +let pointVersionOrigin = 485 (* Revision that corresponds to point version 0 *) (* Documentation: This is a program to construct a version of the form Major.Minor.Point, @@ -65,3 +65,4 @@ Printf.printf "NAME=%s\n" projectName;; + diff --git a/src/uicommon.ml b/src/uicommon.ml index cef0310..64db27a 100644 --- a/src/uicommon.ml +++ b/src/uicommon.ml @@ -120,9 +120,9 @@ let retry = let confirmmerge = Prefs.createBool "confirmmerge" false - "!ask for confirmation before commiting results of a merge" + "!ask for confirmation before committing results of a merge" ("Setting this preference causes both the text and graphical interfaces" - ^ " to ask the user if the results of a merge command may be commited " + ^ " to ask the user if the results of a merge command may be committed " ^ " to the replica or not. Since the merge command works on temporary files," ^ " the user can then cancel all the effects of applying the merge if it" ^ " turns out that the result is not satisfactory. In " diff --git a/src/uicommon.mli b/src/uicommon.mli index 5a801ff..0c4d3bc 100644 --- a/src/uicommon.mli +++ b/src/uicommon.mli @@ -37,7 +37,7 @@ val repeat : string Prefs.t (* User preference: Try failing paths N times *) val retry : int Prefs.t -(* User preference: confirmation before commiting merge results *) +(* User preference: confirmation before committing merge results *) val confirmmerge : bool Prefs.t (* Format the information about current contents of a path in one replica (the second argument diff --git a/src/uimacnew09/MyController.m b/src/uimacnew09/MyController.m index a94116a..0c3c2a1 100644 --- a/src/uimacnew09/MyController.m +++ b/src/uimacnew09/MyController.m @@ -664,6 +664,8 @@ CAMLprim value unisonInit2Complete(value v) } } +// TODO: (BCP, 3/2012) Note that the string literal "~/unison.log" here is wrong -- +// this is a user-settable preference (in ubase/trace.ml) and we should ask for its value. CAMLprim value syncComplete() { id pool = [[NSAutoreleasePool alloc] init]; |