method cvs_select_revision file =
try
let revs = self#cvs_revisions_file file in
match revs with
[] -> None
| _ ->
let filename = (behav#cvs_info_of_t file).Ocvs_types.cvs_file in
match Ocvs_revision.first_revision revs with
None -> None
| Some first_rev ->
let rec build_tree rev =
match Ocvs_revision.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 = Ocvs_revision.string_of_revision_number rev.Ocvs_types.rev_number in
let f_string rev = Glib.Convert.locale_to_utf8 (Ocvs_revision.string_of_revision rev) in
GToolbox.tree_selection_dialog ~title: filename
~tree: tree
~label: f_label
~info: f_string
()
with
Failure s ->
GToolbox.message_box Ocvs_messages.error s ;
None