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 (