123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384openHg_privatemoduletypeS=sigtype'awith_argstype'aoutputvaladd:(?includes:stringlist->?excludes:stringlist->[`All_files|`These_filesofstringlist]->unitoutput)with_argsvaladdremove:(?includes:stringlist->?excludes:stringlist->?similarity:int->[`All_files|`These_filesofstringlist]->unitoutput)with_argsvalannotate:(?rev:string->?user:unit->?file:unit->?date:unit->?number:unit->?changeset:unit->?skip:stringlist->?ignore_space_change:unit->?ignore_blank_lines:unit->?ignore_space_at_eol:unit->?includes:stringlist->?excludes:stringlist->?template:string->string->stringlistoutput)with_argsvalarchive:(?no_decode:unit->?prefix:string->?rev:string->?type_:string->?subrepos:unit->?includes:stringlist->?excludes:stringlist->destination:string->unit->unitoutput)with_args(* Calls `hg bookmarks` with no argument (which lists all bookmarks). *)valbookmarks:(unit->Bookmark.tlistoutput)with_args(* Calls `hg bookmarks` with an anonymous argument (which creates or modifies a bookmark
with that name). *)valchange_bookmark:(?force:unit->name:string(* These variants correspond to flags with similar names. [`Current] means none of
those flags.
Most combinations of these flags are invalid or useless (e.g. hg disallows passing
--rev and --delete together, and --rev does the same thing whether or not you pass
--inactive), so this disallows combinations.
*)->[`Set_revofstring|`Current|`Inactive|`Delete|`Renameofstring]->unitoutput)with_argsvalbundle:(?force:unit->?revs:stringlist->?branches:stringlist->?bases:stringlist->?all:unit->?compression_type:string(* corresponds to [--type] *)->?ssh:string->?remotecmd:string->?insecure:unit->?destination:string->string->[`Ok|`Nothing_to_bundle]output)with_argsvalclone:(source:string->?destination:string->?update:[`Revofstring|`No_update]->?revs:stringlist->?branches:stringlist->?pull:unit->?uncompressed:unit->?ssh:string->?remotecmd:string->?insecure:unit->unit->unitoutput)with_argsvalcat(* [destination] cannot go inside the [with_args] parameter due to an issue with the
value restriction. This should have little effect on users. *):destination:'dstDestination.t->(?includes:stringlist->?excludes:stringlist->?rev:string->?template:string->string->[`Okof'dst|`No_such_file]output)with_argsvalcommit:(?addremove:unit->?allow_commit_without_bookmark:unit->?includes:stringlist->?excludes:stringlist->message:string->?time:Time.t(** Defaults to the current time. *)->?zone:Time.Zone.t(** Mercurial commit times require an explicit UTC offset. Defaults to the local
time zone. *)->?user:string->?files:stringlist->unit->[`Ok|`Nothing_changed]output)with_argsvalconfig:(?untrusted:unit->?names:stringlist->unit->(string*string)listoutput)with_argsvalcopy:(?forget:unit->?after:unit->?force:unit->?includes:stringlist->?excludes:stringlist->string->string->unitoutput)with_argsvaldiff:(?revs:stringlist->?change:string->?text:unit->?git:unit->?reverse:unit->?ignore_all_space:unit->?ignore_space_change:unit->?ignore_blank_lines:unit->?unified:int->?stat:unit->?includes:stringlist->?excludes:stringlist->?subrepos:unit->?files:stringlist->unit->stringoutput)with_argsvalextdiff:(?revs:stringlist->?change:string->?includes:stringlist->?excludes:stringlist->?program:string->?options:stringlist->?files:stringlist->unit->stringoutput)with_argsvalfiles:(?rev:string->?includes:stringlist->?excludes:stringlist->?subrepos:unit->[`All_files|`These_filesofstringlist]->stringlistoutput)with_argsvalheads:(?rev:string->?topo:unit->?closed:unit->?include_files_in_changeset_info:unit->unit->Changeset_info.tlistoutput)with_args(* Despite the name, this actually calls `hg log --rev $rev --template {node}` to get
the 40-character revision hash. The expectation is that this is what most
programmatic calls to `hg id` actually want from it. *)valid:(?rev:string->unit->stringoutput)with_argsvalinit:(?ssh:string->?remotecmd:string->?insecure:unit->?dest:string->unit->unitoutput)with_args(* Not a real hg command -- this just runs `hg root` and returns true on success and
false on error. *)valis_repo:(unit->booloutput)with_argsvallog:(?follow:unit->?date:Date_param.t->?copies:unit->?keywords:stringlist->?revs:stringlist->?removed:unit->?users:stringlist->?branches:stringlist->?prune_revs:stringlist->?limit:int->?no_merges:unit->?includes:stringlist->?excludes:stringlist->?files:stringlist->?include_files_in_changeset_info:unit->unit->Changeset_info.tlistoutput)with_argsvalmanifest:(?rev:string->?all:unit->unit->stringlistoutput)with_argsvalmerge:(?tool:string->?allow_commit_without_bookmark:unit->[`Unique_other_head|`Revofstring]->[`Ok|`Unresolved_files]output)with_argsvalout:(?force:unit->?revs:stringlist->?limit:int->?no_merges:unit->?ssh:string->?remotecmd:string->?insecure:unit->?remote_path:string->?include_files_in_changeset_info:unit->unit->Changeset_info.tlistoutput)with_argsvalpull:(?update:unit->?force:unit->?revs:stringlist->?bookmarks:stringlist->?branches:stringlist->?ssh:string->?remotecmd:string->?insecure:unit->?rebase:unit->?remote_path:string->unit->unitoutput)with_argsvalpurge:(?abort_on_err:unit->?all:unit->?dirs:unit->?files:unit->?includes:stringlist->?excludes:stringlist->unit->unitoutput)with_argsvalpush:(?force:unit->?revs:stringlist->?bookmarks:stringlist->?branches:stringlist->?new_branch:unit->?ssh:string->?remotecmd:string->?insecure:unit->?remote_path:string->unit->[`Ok|`Nothing_to_push]output)with_argsvalremove:(?after:unit->?force:unit->?includes:stringlist->?excludes:stringlist->stringlist->unitoutput)with_argsvalrename:(?after:unit->?force:unit->?includes:stringlist->?excludes:stringlist->string->string->unitoutput)with_args(** Calls [hg resolve] with [--mark] to mark files as resolved. *)valmark_resolved:([`All_files|`These_filesofstringlist]->unitoutput)with_argsvalrevert:(?date:Date_param.t->?rev:string->?no_backup:unit->?includes:stringlist->?excludes:stringlist->[`All_files|`These_filesofstringlist]->unitoutput)with_argsvalroot:(unit->stringoutput)with_argsvalshare:(?noupdate:unit->?bookmarks:unit->src:string->dst:string->unit->unitoutput)with_args(* This gives the default output of `hg status`, when not specifying flags like
`--clean`, which allows it to have a return type reflecting this. If you want to
specify more flags, please add another function rather than modifying this one.
By default, this shows changes between the current revision and the working
directory. Passing [~rev] shows the changes between that revision and the working
directory. Passing both [~rev] and [~rev2] shows the changes between those revisions.
*)valstatus:(?rev:string->?rev2:string->?change:string->?includes:stringlist->?excludes:stringlist->?subrepos:unit->unit->File_status.tlistoutput)with_argsvaltags:(unit->Tag.tlistoutput)with_argsvalunbundle:(?update:unit->string->unitoutput)with_argsvalupdate:(?clean:unit->?check:unit->?date:Date_param.t->?rev:string->unit->unitoutput)with_args(** [hg show paths.default] *)valget_default_url:(unit->stringoptionoutput)with_argsendmoduleMake_s(A:Hg_lib_factory.Arg)=structmoduletypeS=Swithtype'awith_args:='aA.With_args.twithtype'aoutput:='aA.Output.tendmoduletypeHg=sigmoduletypeS=SincludeHg_lib_factory.Make_lib(Make_s).Send