method cvs_commit_files ?(comment="") files =
      try
        Ocvs_commands.commit_files ~comment: comment files;
        (* Update the elements in data. *)
        try
          (* we remove the files which don't appear any more *)
          let (exist, not_exist) = List.partition Sys.file_exists files in
          List.iter data#remove_element not_exist ;
          (* and update the others *)
          self#cvs_status_files exist
        with _ -> ()
      with
        CvsFailure s
      |        CvsPartFailure s ->
          raise (Failure s)