[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