method cvs_differences_between =
match self#selection with
[] -> ()
| file :: _ ->
match self#cvs_select_revision file with
None -> ()
| Some rev ->
match self#cvs_select_revision file with
None -> ()
| Some rev2 ->
try
let filename = (behav#cvs_info_of_t file).Ocvs_types.cvs_file in
let (diffs, archive) = behav#cvs_diff_file
~rev: rev ~rev2: rev2 filename
in
let temp_file = behav#rcs_revision rev2 archive in
let title = Printf.sprintf "%s : %s -> %s"
filename
(Ocvs_revision.string_of_revision_number rev.Ocvs_types.rev_number)
(Ocvs_revision.string_of_revision_number rev2.Ocvs_types.rev_number)
in
let w = Odiff_gui.diffs_window ~title ~file: temp_file diffs in
let _ = w#window#connect#destroy (fun () -> Ocvs_commands.delete_file temp_file) in
w#window#show ()
with
Failure s ->
GToolbox.message_box Ocvs_messages.error s