Module Ocamlcvs.Types (.ml)


module Types: sig .. end


type cvs_status =
| Up_to_date (*The file is identical with the latest revision in the repository for the branch in use.*)
| Locally_modified (*You have edited the file, and not yet committed your changes.*)
| Locally_added (*You have added the file with add, and not yet committed your changes.*)
| Locally_removed (*You have removed the file with remove, and not yet committed your changes.*)
| Needs_checkout (*Someone else has committed a newer revision to the repository. The name is slightly misleading; you will ordinarily use update rather than checkout to get that newer revision.*)
| Needs_Patch (*Like Needs Checkout, but the CVS server will send a patch rather than the entire file. Sending a patch or sending an entire file accomplishes the same thing.*)
| Needs_Merge (*Someone else has committed a newer revision to the repository, and you have also made modifications to the file.*)
| Conflicts_on_merge (*This is like Locally Modified, except that a previous update command gave a conflict. If you have not already done so, you need to resolve the conflict as described in 10.3 Conflicts example.*)
| Unknown (*CVS doesn't know anything about this file. For example, you have created a new file and have not run add.*)

type update_action =
| U (*The file was brought up to date with respect to the repository. This is done for any file that exists in the repository but not in your source, and for files that you haven't changed but are not the most recent versions available in the repository.*)
| P (*Like `U', but the CVS server sends a patch instead of an entire file. These two things accomplish the same thing.*)
| A (*The file has been added to your private copy of the sources, and will be added to the source repository when you run commit on the file. This is a reminder to you that the file needs to be committed.*)
| R (*The file has been removed from your private copy of the sources, and will be removed from the source repository when you run commit on the file. This is a reminder to you that the file needs to be committed.*)
| M (*The file is modified in your working directory.*)
| C (*A conflict was detected while trying to merge your changes to file with changes from the source repository.*)
| QM (*file is in your working directory, but does not correspond to anything in the source repository.*)

type cvs_info = {
   cvs_file : string; (*absolute file name*)
   cvs_status : cvs_status;
   cvs_work_rev : string; (*working revision*)
   cvs_rep_rev : string; (*repository revision*)
   cvs_date_string : string; (*the date as displayed by cvs status*)
   cvs_date : float; (*the date of the last time we got the information on this file*)
}
Information on a file handled by CVS.

type cvs_revision = {
   rev_number : int list;
   rev_author : string;
   rev_date : string;
   rev_comment : string;
}
exception CvsFailure of string
To report failure while executing a cvs command.
exception CvsPartFailure of string
To report partial failure (e.g. for one file among various files) while executing a cvs command.
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
Dump of a cvs_info structure.