Up
module
Ir_s
:
sig
Irmin stores
#
module type
STORE =
sig
include
Ir_bc
.
STORE
#
module
Key :
Ir_path
.
S
with
type
step
=
step
#
module
Val :
Ir_contents
.
S
with
type
t
=
value
#
module
Tag :
Ir_tag
.
S
with
type
t =
tag
#
module
Head :
Ir_hash
.
S
with
type
t =
head
#
module
Private :
sig
include
Ir_bc
.
PRIVATE
with
type
Contents
.
value
=
value
and
type
Node
.
Path
.
step
=
step
and
type
Commit
.
key
=
head
and
type
Tag
.
key
=
tag
and
type
Slice
.
t
=
slice
#
val
config :
t
->
Ir_conf
.
t
#
val
contents_t :
t
->
Contents
.
t
#
val
node_t :
t
->
Node
.
t
#
val
commit_t :
t
->
Commit
.
t
#
val
tag_t :
t
->
Tag
.
t
#
val
read_node :
t
->
key
->
Node
.
key
option
Lwt
.
t
#
val
mem_node :
t
->
key
->
bool
Lwt
.
t
#
val
update_node :
t
->
key
->
Node
.
key
->
unit
Lwt
.
t
end
end
#
module type
MAKER =
functor
(P :
Ir_path
.
S
)
->
functor
(C :
Ir_contents
.
S
)
->
functor
(T :
Ir_tag
.
S
)
->
functor
(H :
Ir_hash
.
S
)
->
STORE
with
type
step
=
P
.
step
and
type
value
=
C
.
t
and
type
tag
=
T
.t
and
type
head
=
H
.t
#
module
Make :
functor
(AO :
Ir_ao
.
MAKER
)
->
functor
(RW :
Ir_rw
.
MAKER
)
->
MAKER
#
module
Make_ext :
functor
(P :
Ir_bc
.
PRIVATE
)
->
STORE
with
type
step
=
P
.
Node
.
Path
.
step
and
type
value
=
P
.
Contents
.
value
and
type
tag
=
P
.
Tag
.
key
and
type
head
=
P
.
Tag
.
value
#
module
Default :
functor
(S :
MAKER
)
->
functor
(C :
Ir_contents
.
S
)
->
STORE
with
type
step
= string
and
type
value
=
C
.
t
and
type
tag
= string
and
type
head
=
Ir_hash
.
SHA1
.t
end