The unified diff between revisions [78746ed3..] and [248a580c..] is displayed below. It can also be downloaded as a raw diff.

This diff has been restricted to the following files: 'git.ml'

#
#
# patch "git.ml"
#  from [c5709e028ce1670f8b42fab662bc3204f3d6590a]
#    to [7278a18d00d1bc0346bd0e613513f13ac01f6053]
#
============================================================
--- git.ml	c5709e028ce1670f8b42fab662bc3204f3d6590a
+++ git.ml	7278a18d00d1bc0346bd0e613513f13ac01f6053
@@ -28,10 +28,16 @@ let id_of_file ?dir f =
     input_line
     (match dir with None -> f | Some d -> Filename.concat d f)

+let list_map_noexn f l =
+  List.rev
+    (List.fold_left
+       (fun acc v -> try f v :: acc with _ -> acc)
+       [] l)
+
 let fetch_dir_of_ids git_dir subdir =
   try
     let dir = Filename.concat git_dir subdir in
-    List.map
+    list_map_noexn
       (fun n -> (id_of_file ~dir n, n))
       (Array.to_list (Sys.readdir dir))
   with _ -> []
@@ -298,8 +304,10 @@ let run_monotone_diff d exe (parent, chi
 	cb (`SUB_PROC_ERROR "Diffs are not suported with git yet") ;
 	false))
   | `PASKY ->
-      let cmd = [ "git"; "diff"; parent; child] in
+      let cmd = [ "git"; "diff"; "-r"; parent; "-r"; child] in
       log "exec" "### exec: Running '%s'" (String.concat " " cmd) ;
+      let error fmt =
+	Printf.kprintf (fun s -> cb (`SUB_PROC_ERROR s)) fmt in
       try
 	status#push "Running git diff ..." ;
 	ignore (