[Unison-hackers] [unison-svn] r486 - in trunk: doc src src/uimacnew09

bcpierce at seas.upenn.edu bcpierce at seas.upenn.edu
Mon Apr 2 11:53:27 EDT 2012


Author: bcpierce
Date: 2012-04-02 11:53:27 -0400 (Mon, 02 Apr 2012)
New Revision: 486

Modified:
   trunk/doc/changes.tex
   trunk/src/INSTALL.win32-msvc
   trunk/src/RECENTNEWS
   trunk/src/copy.mli
   trunk/src/globals.ml
   trunk/src/mkProjectInfo.ml
   trunk/src/uicommon.ml
   trunk/src/uicommon.mli
   trunk/src/uimacnew09/MyController.m
Log:
* Preparation for beta release



Modified: trunk/doc/changes.tex
===================================================================
--- trunk/doc/changes.tex	2012-03-10 16:12:51 UTC (rev 485)
+++ trunk/doc/changes.tex	2012-04-02 15:53:27 UTC (rev 486)
@@ -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)

Modified: trunk/src/INSTALL.win32-msvc
===================================================================
--- trunk/src/INSTALL.win32-msvc	2012-03-10 16:12:51 UTC (rev 485)
+++ trunk/src/INSTALL.win32-msvc	2012-04-02 15:53:27 UTC (rev 486)
@@ -475,7 +475,7 @@
 
 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

Modified: trunk/src/RECENTNEWS
===================================================================
--- trunk/src/RECENTNEWS	2012-03-10 16:12:51 UTC (rev 485)
+++ trunk/src/RECENTNEWS	2012-04-02 15:53:27 UTC (rev 486)
@@ -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
-
--------------------------------

Modified: trunk/src/copy.mli
===================================================================
--- trunk/src/copy.mli	2012-03-10 16:12:51 UTC (rev 485)
+++ trunk/src/copy.mli	2012-04-02 15:53:27 UTC (rev 486)
@@ -11,7 +11,7 @@
  -> 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 *)
 

Modified: trunk/src/globals.ml
===================================================================
--- trunk/src/globals.ml	2012-03-10 16:12:51 UTC (rev 485)
+++ trunk/src/globals.ml	2012-04-02 15:53:27 UTC (rev 486)
@@ -302,5 +302,5 @@
       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.")

Modified: trunk/src/mkProjectInfo.ml
===================================================================
--- trunk/src/mkProjectInfo.ml	2012-03-10 16:12:51 UTC (rev 485)
+++ trunk/src/mkProjectInfo.ml	2012-04-02 15:53:27 UTC (rev 486)
@@ -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 @@
 
 
 
+

Modified: trunk/src/uicommon.ml
===================================================================
--- trunk/src/uicommon.ml	2012-03-10 16:12:51 UTC (rev 485)
+++ trunk/src/uicommon.ml	2012-04-02 15:53:27 UTC (rev 486)
@@ -120,9 +120,9 @@
 
 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 "

Modified: trunk/src/uicommon.mli
===================================================================
--- trunk/src/uicommon.mli	2012-03-10 16:12:51 UTC (rev 485)
+++ trunk/src/uicommon.mli	2012-04-02 15:53:27 UTC (rev 486)
@@ -37,7 +37,7 @@
 (* 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

Modified: trunk/src/uimacnew09/MyController.m
===================================================================
--- trunk/src/uimacnew09/MyController.m	2012-03-10 16:12:51 UTC (rev 485)
+++ trunk/src/uimacnew09/MyController.m	2012-04-02 15:53:27 UTC (rev 486)
@@ -664,6 +664,8 @@
 	}  
 }
 
+// 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];



More information about the Unison-hackers mailing list