[Unison-hackers] [unison-svn] r300 - trunk/src

Benjamin C. Pierce bcpierce at seas.upenn.edu
Sat Jun 28 10:01:50 EDT 2008


Author: bcpierce
Date: 2008-06-28 10:01:42 -0400 (Sat, 28 Jun 2008)
New Revision: 300

Modified:
   trunk/src/NEWS
   trunk/src/RECENTNEWS
   trunk/src/TODO.txt
   trunk/src/mkProjectInfo.ml
   trunk/src/strings.ml
   trunk/src/uimacbridgenew.ml
   trunk/src/uitext.ml
   trunk/src/update.ml
Log:
* Work on text UI to prepare for new filesystem watcher functionality

* Record some current TODO items





Modified: trunk/src/NEWS
===================================================================
--- trunk/src/NEWS	2008-06-28 02:25:43 UTC (rev 299)
+++ trunk/src/NEWS	2008-06-28 14:01:42 UTC (rev 300)
@@ -1,5 +1,5 @@
 
-Changes in Version 2.29.5
+Changes in Version 2.30.4
 
    Changes since 2.17:
      * Major rewrite and cleanup of the whole Mac OS X graphical user

Modified: trunk/src/RECENTNEWS
===================================================================
--- trunk/src/RECENTNEWS	2008-06-28 02:25:43 UTC (rev 299)
+++ trunk/src/RECENTNEWS	2008-06-28 14:01:42 UTC (rev 300)
@@ -1,3 +1,13 @@
+CHANGES FROM VERSION 2.30.4
+
+* Work on text UI to prepare for new filesystem watcher functionality
+
+* Record some current TODO items
+
+
+
+
+-------------------------------
 CHANGES FROM VERSION 2.30.3
 
 * Update docs

Modified: trunk/src/TODO.txt
===================================================================
--- trunk/src/TODO.txt	2008-06-28 02:25:43 UTC (rev 299)
+++ trunk/src/TODO.txt	2008-06-28 14:01:42 UTC (rev 300)
@@ -7,7 +7,34 @@
 See the file BUGS.txt for a list of currently open bugs.
 
 ###########################################################################
+        
+CURRENT
+=======
 
+* Makefile for fstest
+
+* Reverse CheckNonemptyAndMakeWriteable 
+
+* Work on the Unison side
+     - create temp file
+     - start watcher based on watcherosx switch, passing all paths as args
+     - on each loop
+         - parse results into shallow and deep ones
+         - combine the two lists (marking which is which)
+         - sort the list
+         - if there are any adjacent pairs where the first is a prefix of the
+           second, drop the second and mark the first as deep
+         - go through the list and drop any item for whioch any PREFIX of
+           its path matches 'ignore' and doesn't match 'ignorenot'
+     - bulletproof, handling fatal errors and restarting completely from
+       scratch if necessary
+
+* See if there are other hacks that should be propagated to 2.27 (the
+  directory transfer throttle for sure!)
+
+
+###########################################################################
+
 SOON
 ====
 

Modified: trunk/src/mkProjectInfo.ml
===================================================================
--- trunk/src/mkProjectInfo.ml	2008-06-28 02:25:43 UTC (rev 299)
+++ trunk/src/mkProjectInfo.ml	2008-06-28 14:01:42 UTC (rev 300)
@@ -85,3 +85,4 @@
 
 
 
+

Modified: trunk/src/strings.ml
===================================================================
--- trunk/src/strings.ml	2008-06-28 02:25:43 UTC (rev 299)
+++ trunk/src/strings.ml	2008-06-28 14:01:42 UTC (rev 300)
@@ -4,7 +4,7 @@
 let docs =
     ("about", ("About Unison", 
      "Unison File Synchronizer\n\
-      Version 2.30.3\n\
+      Version 2.30.4\n\
       \n\
       "))
 ::
@@ -2553,8 +2553,8 @@
       \n\
       "))
 ::
-    ("news", ("Changes in Version 2.30.3", 
-     "Changes in Version 2.30.3\n\
+    ("news", ("Changes in Version 2.30.4", 
+     "Changes in Version 2.30.4\n\
       \n\
       \032  Changes since 2.17:\n\
       \032    * Major rewrite and cleanup of the whole Mac OS X graphical user\n\

Modified: trunk/src/uimacbridgenew.ml
===================================================================
--- trunk/src/uimacbridgenew.ml	2008-06-28 02:25:43 UTC (rev 299)
+++ trunk/src/uimacbridgenew.ml	2008-06-28 14:01:42 UTC (rev 300)
@@ -97,7 +97,8 @@
 Callback.register "unisonGetVersion" unisonGetVersion;;
 
 (* snippets from Uicommon, duplicated for now *)
-(* BCP: Duplicating this is a bad idea!!! *)
+(* BCP: Duplicating this is a really bad idea!!! *)
+
 (* First initialization sequence *)
 (* Returns a string option: command line profile, if any *)
 let unisonInit0() =

Modified: trunk/src/uitext.ml
===================================================================
--- trunk/src/uitext.ml	2008-06-28 02:25:43 UTC (rev 299)
+++ trunk/src/uitext.ml	2008-06-28 14:01:42 UTC (rev 300)
@@ -634,7 +634,8 @@
       Globals.allRootsMap (fun r -> suckOnWatcherFileRoot r n)))
 
 let synchronizePathsFromFilesystemWatcher () =
-  let watcherfilename = Prefs.read Uicommon.repeat in
+  let watcherfilename = "" in
+  (* STOPPED HERE -- need to find the program using watcherosx preference and invoke it using a redirect to get the output into a temp file... *)
   let rec loop failedPaths = 
     let newpaths = suckOnWatcherFiles watcherfilename in
     if newpaths <> [] then
@@ -673,7 +674,12 @@
     try int_of_string (Prefs.read Uicommon.repeat)
     with Failure "int_of_string" ->
       (* If the 'repeat' pref is not a number, switch modes... *)
-      synchronizePathsFromFilesystemWatcher() in
+      if Prefs.read Uicommon.repeat = "watch" then 
+        synchronizePathsFromFilesystemWatcher() 
+      else
+        raise (Util.Fatal ("Value of 'repeat' preference ("
+                           ^Prefs.read Uicommon.repeat
+                           ^") should be either a number or 'watch'\n")) in
 
   let exitStatus = synchronizeUntilNoFailures() in
   if repeatinterval < 0 then

Modified: trunk/src/update.ml
===================================================================
--- trunk/src/update.ml	2008-06-28 02:25:43 UTC (rev 299)
+++ trunk/src/update.ml	2008-06-28 14:01:42 UTC (rev 300)
@@ -1520,6 +1520,8 @@
      Lwt.return (ONEPERPATH(result))))))
 
 let findUpdates () : Common.updateItem list Common.oneperpath =
+  (* TODO: We should filter the paths to remove duplicates (including prefixes)
+     and ignored paths *)
   findUpdatesOnPaths (Prefs.read Globals.paths)
 
 



More information about the Unison-hackers mailing list