method private lastdiff_selected_file selection () =
let f () =
match selection with
[] -> ()
| cvsi :: _ ->
match cvsi.Ocvs_types.cvs_status with
Ocvs_types.Up_to_date
| Ocvs_types.Locally_added
| Ocvs_types.Locally_removed
| Ocvs_types.Needs_checkout
| Ocvs_types.Needs_Patch
| Ocvs_types.Unknown ->
raise (Failure Ocvs_messages.no_diff_to_display)
| Ocvs_types.Conflicts_on_merge ->
raise (Failure Ocvs_messages.resolve_conflicts_first)
| Ocvs_types.Locally_modified
| Ocvs_types.Needs_Merge ->
let filename = cvsi.Ocvs_types.cvs_file in
let (diffs, _ ) = cvs#cvs_diff_file filename in
Ocamlcvs.Diffs.display_diffs
~title: (filename^" : "^Ocvs_messages.m_last_diff)
~file: filename
diffs
in
handle_error f () ()