method private select_revision file =
let f () =
let revs = self#cvs_revisions_file file in
match revs with
[] -> None
| _ ->
match Ocamlcvs.Revisions.first_revision revs with
None -> None
| Some first_rev ->
let rec build_tree rev =
match Ocamlcvs.Revisions.children_revisions revs rev with
[] -> `L rev
| subs -> `N (rev, List.map build_tree subs)
in
let tree = build_tree first_rev in
let f_label rev = Ocamlcvs.Revisions.string_of_revision_number rev.Ocvs_types.rev_number in
let f_string rev = Glib.Convert.locale_to_utf8
(Ocamlcvs.Revisions.string_of_revision rev)
in
GToolbox.tree_selection_dialog ~title: file
~tree: tree
~label: f_label
~info: f_string
()
in
handle_error f () None