sig
  type cvs_status =
    Ocamlcvs.Types.cvs_status =
      Up_to_date
    | Locally_modified
    | Locally_added
    | Locally_removed
    | Needs_checkout
    | Needs_Patch
    | Needs_Merge
    | Conflicts_on_merge
    | Unknown
  type update_action =
    Ocamlcvs.Types.update_action =
      U
    | P
    | A
    | R
    | M
    | C
    | QM
  type cvs_info =
    Ocamlcvs.Types.cvs_info = {
    cvs_file : string;
    cvs_status : cvs_status;
    cvs_work_rev : string;
    cvs_rep_rev : string;
    cvs_date_string : string;
    cvs_date : float;
  }
  type cvs_revision =
    Ocamlcvs.Types.cvs_revision = {
    rev_number : int list;
    rev_author : string;
    rev_date : string;
    rev_comment : string;
  }
  exception CvsFailure of string
  exception CvsPartFailure of string
  val string_of_status : cvs_status -> string
  val status_of_string : string -> cvs_status
  val update_action_of_string : string -> update_action
  val dump_cvs_info : cvs_info -> unit
end