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

#
#
# delete "NEWS"
#
# patch "INSTALL"
#  from [f4e6f306f6a19cf698f77b8ac43c8db16af19c4c]
#    to [d0ce0969db5a06e5dfee86d2447329bc2b91db2f]
#
# patch "git.ml"
#  from [c5709e028ce1670f8b42fab662bc3204f3d6590a]
#    to [7278a18d00d1bc0346bd0e613513f13ac01f6053]
#
============================================================
--- INSTALL	f4e6f306f6a19cf698f77b8ac43c8db16af19c4c
+++ INSTALL	d0ce0969db5a06e5dfee86d2447329bc2b91db2f
@@ -1,12 +1,13 @@

-Compiling monotone-viz from sources
+Compiling git-viz from sources
 ===================================

 * OCaml
-Monotone-viz is written in Objective caml, so you'll need the ocaml
+Git-viz is written in Objective caml, so you'll need the ocaml
 compilers [1]. They are binaries available, from the ocaml homepage or
-from other vendors (e.g. Linux distributions). It is also easy to
-compile from source, something like this should work:
+from other vendors (e.g. Linux distributions). If you install a
+package, make sure you have camlp4, the caml preprocessor. OCaml is
+also easy to compile from source, something like this should work:

  $ ./configure -prefix /opt/caml
  $ make world.opt
@@ -28,23 +29,15 @@ The latest version is lablgtk2-20050218.
   $ make install


-* Monotone
-You need the compiled monotone sources, for monotone-viz statically
-links the sqlite library embedded in monotone.  So, in the
-monotone-viz directory, create a link named monotone :
-
-  $ ln -s /path/to/monotone-tree monotone
+* Git-viz
+Compiling git-viz should now be as simple as :

-
-* Monotone-viz
-Compiling monotone-viz should now be as simple as :
-
   $ ./configure
   $ make


 * Installing & cleaning
-There is no `install' target for the Makefile : monotone-viz is a
+There is no `install' target for the Makefile : git-viz is a
 single executable, just copy it somewhere in your PATH.
 Also the ocaml compiler statically links everything caml-related so
 you can delete your ocaml installation if you so wish :
============================================================
--- 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 (