package git
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=2648d6a45263164936aeb4f61c1ffcb6078135626a317f400156ec62033c3893
sha512=fa19fe952331a50ad75b1a16193c46e3de2950c537e54b9e9d167b03502616bee10e36d8a114365645a8e4032b78a58d0567692106e9d6fb69f17b9964ebc3cb
doc/smart_git/Smart_git/index.html
Module Smart_git
module type APPEND = sig ... endmodule type UID = sig ... endmodule type HTTP = sig ... endmodule Endpoint : sig ... endMimic values.
When the user use an Endpoint.t to fetch or push, we fill the given Mimic's ctx with some available informations such as:
- if we want to
fetch(`Rd) orpush(`Wr) - the scheme/protocol that the user would like to use (
git://, SSH or HTTP - with or without TLS) - the path of the git repository
- the host (an IP adress or a domain name)
- the SSH user iff the user would like to use SSH
- the port that the user would like to use
From this informations, the end-user can process them through the Mimic API (with Mimic.fold) and describe how to create needed values to start a protocol from them.
For example, if the user wants to use mirage-tcpip which needs an IP address and a port, he is able to re-use/map/fold git_host and git_port to craft what mirage-tcpip really needs.
Of course, such job is definitely outside the scope of ocaml-git and permits to us to be free about protocol implementations. An example of the plumbing needed is able with git-mirage which re-use these values to be able to start a mirage-tcpip connection, a awa-ssh connection of a cohttp (with or without ocaml-tls) connection.