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

vouillon@seas.upenn.edu vouillon at seas.upenn.edu
Wed Apr 21 07:28:10 EDT 2010


Author: vouillon
Date: 2010-04-21 07:28:10 -0400 (Wed, 21 Apr 2010)
New Revision: 441

Modified:
   trunk/src/RECENTNEWS
   trunk/src/mkProjectInfo.ml
   trunk/src/recon.ml
   trunk/src/unicode.ml
Log:
* 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


Modified: trunk/src/RECENTNEWS
===================================================================
--- trunk/src/RECENTNEWS	2010-04-20 14:51:51 UTC (rev 440)
+++ trunk/src/RECENTNEWS	2010-04-21 11:28:10 UTC (rev 441)
@@ -1,5 +1,13 @@
 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
 
 -------------------------------

Modified: trunk/src/mkProjectInfo.ml
===================================================================
--- trunk/src/mkProjectInfo.ml	2010-04-20 14:51:51 UTC (rev 440)
+++ trunk/src/mkProjectInfo.ml	2010-04-21 11:28:10 UTC (rev 441)
@@ -115,3 +115,4 @@
 
 
 
+

Modified: trunk/src/recon.ml
===================================================================
--- trunk/src/recon.ml	2010-04-20 14:51:51 UTC (rev 440)
+++ trunk/src/recon.ml	2010-04-21 11:28:10 UTC (rev 441)
@@ -34,21 +34,22 @@
         diff.direction <- Replica2ToReplica1
       else if dir=`Merge then begin
         if Globals.shouldMerge ri.path1 then diff.direction <- Merge
-      end else  (* dir = `Older or dir = `Newer *)
-        if rc1.status<>`Deleted && rc2.status<>`Deleted then begin
-          let comp = Props.time rc1.desc -. Props.time rc2.desc in
-          let comp = if dir=`Newer then -. comp else comp in
-          if comp = 0.0 then
-            ()
-          else if comp<0.0 then
-            diff.direction <- Replica1ToReplica2
-          else
-            diff.direction <- Replica2ToReplica1
-        end else if rc1.status=`Deleted && dir=`Newer then begin
-          diff.direction <- Replica2ToReplica1
-        end else if rc2.status=`Deleted && dir=`Newer then begin
-          diff.direction <- Replica1ToReplica2
-        end
+      end else begin  (* dir = `Older or dir = `Newer *)
+        match rc1.status, rc2.status with
+          `Deleted, _ ->
+            if default=Conflict then
+              diff.direction <- Replica2ToReplica1
+        | _, `Deleted ->
+            if default=Conflict then
+              diff.direction <- Replica1ToReplica2
+        | _ ->
+            let comp = Props.time rc1.desc -. Props.time rc2.desc in
+            let comp = if dir=`Newer then -. comp else comp in
+            if comp<0.0 then
+              diff.direction <- Replica1ToReplica2
+            else
+              diff.direction <- Replica2ToReplica1
+      end
   | _ ->
       ()
 

Modified: trunk/src/unicode.ml
===================================================================
--- trunk/src/unicode.ml	2010-04-20 14:51:51 UTC (rev 440)
+++ trunk/src/unicode.ml	2010-04-21 11:28:10 UTC (rev 441)
@@ -1071,7 +1071,7 @@
   end
 
 let case_sensitive_compare s s' =
-  compare_rec s s' 0 (min (String.length s) (String.length s'))
+  compare_cs_rec s s' 0 (min (String.length s) (String.length s'))
 
 (****)
 



More information about the Unison-hackers mailing list