package diffast-core

  1. Overview
  2. Docs
module Xfile = Diffast_misc.Xfile
module Edit = Diffast_misc.Edit
module Mapping = Diffast_misc.Mapping
module Otreelib = Diffast_misc.Otreelib
include module type of struct include Dirtree_base end
val sprintf : ('a, unit, string) format -> 'a
val printf : ('a, out_channel, unit) format -> 'a
val fprintf : out_channel -> ('a, out_channel, unit) format -> 'a
val auxfile_exts : string list
val is_auxfile : string -> bool
val path_concat : string list -> string
val union : 'a list list -> 'a list
class node_data : Storage.tree -> Storage.entry_t -> object ... end
type node_t = node_data Otree.node2
class c : < hash_algo : Diffast_misc.Xhash.algo.. > -> node_t -> ?id:string option -> bool -> object ... end
val _tbl_add : ('a, 'b list) Hashtbl.t -> 'a -> 'b -> unit
val collapse_tree : < collapse_node : < data : < digest : 'b.. > ; is_leaf : bool.. > as 'a -> 'c ; init : 'd ; root : 'a ; scan_all : ('a -> unit) -> 'e ; set_digest_of_root : unit.. > -> ('b, 'a list) Hashtbl.t
exception To_be_skipped
val of_tree : < check_extension : string -> bool ; designated_parser : string ; hash_algo : Diffast_misc.Xhash.algo ; is_disabled_parser : string -> bool ; uid_generator : Diffast_misc.UID.generator ; verbose_flag : bool.. > -> bool -> Storage.tree -> c * (Diffast_misc.Xhash.t, node_data Otree.node2 list) Hashtbl.t
val of_dir : < check_extension : string -> bool ; designated_parser : string ; git_hash_flag : bool ; hash_algo : Diffast_misc.Xhash.algo ; is_disabled_parser : string -> bool ; keep_filtered_temp_file_flag : bool ; uid_generator : Diffast_misc.UID.generator ; verbose_flag : bool.. > -> bool -> string -> c * (Diffast_misc.Xhash.t, node_data Otree.node2 list) Hashtbl.t
val split : ('a -> 'b) -> 'a list -> ('b, 'a list) Hashtbl.t
val get_cache_path1 : < get_cache_path_for_dir_digest1 : 'a -> 'b.. > -> < digest : 'a.. > -> 'b
val get_cache_path2 : < get_cache_path_for_dir_digest2 : 'a -> 'b -> 'c.. > -> < digest : 'a.. > -> < digest : 'b.. > -> 'c
val get_cache_path_for_dir1 : < check_extension : string -> bool ; designated_parser : string ; get_cache_path_for_dir_digest1 : Diffast_misc.Xhash.t -> string ; hash_algo : Diffast_misc.Xhash.algo ; is_disabled_parser : string -> bool ; uid_generator : Diffast_misc.UID.generator ; verbose_flag : bool.. > -> Storage.tree -> string
val get_cache_path_for_dir2 : < check_extension : string -> bool ; designated_parser : string ; get_cache_path_for_dir_digest2 : Diffast_misc.Xhash.t -> Diffast_misc.Xhash.t -> string ; hash_algo : Diffast_misc.Xhash.algo ; is_disabled_parser : string -> bool ; uid_generator : Diffast_misc.UID.generator ; verbose_flag : bool.. > -> Storage.tree -> Storage.tree -> string
val mkfile : Storage.tree -> < data : < content_digest : Diffast_misc.Xhash.t option ; path : string.. >.. > -> Storage.file
val mkfiles : Storage.tree -> < data : < content_digest : Diffast_misc.Xhash.t option ; path : string.. >.. > list -> Storage.file list
val fid_of_nd : ?force_PVF:bool -> < fact_algo : T.Xhash.algo ; fact_enc : Entity.encoding ; fact_proj : string.. > -> 'a -> (Entity.vkind * string) -> < data : < get_content_digest : T.Xhash.t ; path : string.. >.. > -> string
val fent_of_nd : < fact_algo : T.Xhash.algo ; fact_enc : Entity.encoding ; fact_proj : string.. > -> ?force_PVF:bool -> 'a -> (Entity.vkind * string) -> < data : < get_content_digest : T.Xhash.t ; path : string.. >.. > -> T.node
val create_fact_buf : < fact_compression : Diffast_core.Triple.C.c ; fact_into_directory : string ; fact_into_virtuoso : string ; fact_size_threshold : int ; fact_virtuoso_temp_dir : string ; local_cache_name : string ; verbose_flag : bool.. > -> ?acquire_lock:(unit -> unit) -> ?fact_file_path:string -> ?cache_name:string -> into_virtuoso:bool -> into_directory:bool -> string -> Triple.buffer_virtuoso
val _extract_fact : < add : (T.node * T.node * T.node) -> unit ; add_group : (T.node * T.node * T.node) list -> unit.. > -> < fact_algo : T.Xhash.algo ; fact_enc : Entity.encoding ; fact_proj : string.. > -> 'a -> (Entity.vkind * string) -> < data : < get_content_digest : T.Xhash.t ; is_auxfile : bool ; path : string.. >.. > list -> string * T.node
val extract_fact : < check_extension : string -> bool ; clear_cache_flag : bool ; default_dir_permission : Unix.file_perm ; designated_parser : string ; fact_algo : T.Xhash.algo ; fact_compression : Diffast_core.Triple.C.c ; fact_enc : Entity.encoding ; fact_flag : bool ; fact_into_directory : string ; fact_into_virtuoso : string ; fact_proj : string ; fact_size_threshold : int ; fact_virtuoso_temp_dir : string ; get_cache_path_for_dir_digest1 : Diffast_misc.Xhash.t -> string ; hash_algo : Diffast_misc.Xhash.algo ; is_disabled_parser : string -> bool ; local_cache_name : string ; uid_generator : Diffast_misc.UID.generator ; verbose_flag : bool.. > -> dtree_opt:c option -> proj_root:'a -> version:(Entity.vkind * string) -> Storage.tree -> string * c * Storage.file list
val tree_width_limit : int ref
val tree_size_limit : int ref
val modified_files_list_file_name : string
val modified_files_csv : string
val unmodified_files_csv : string
val renamed_files_csv : string
val moved_files_csv : string
val removed_files_csv : string
val added_files_csv : string
val copied_files_csv : string
val glued_files_csv : string
class node_map : object ... end
val pp0 : < fast_scan_whole_initial_subtree : < data : < label : 'b ; path : 'c.. > ; prune : 'd.. > as 'a -> (node_t -> unit) -> 'e.. > -> < fast_scan_whole_initial_subtree : < data : < label : 'b ; path : 'c.. > ; prune : unit.. > as 'f -> (node_t -> unit) -> 'g.. > -> ('h, 'a list) Hashtbl.t -> ('h, 'f list) Hashtbl.t -> (Xhash.t, node_t list) Hashtbl.t -> (Xhash.t, node_t list) Hashtbl.t -> node_map * node_map * node_map
val pp1 : ('a, node_t list) Hashtbl.t -> ('a, node_t list) Hashtbl.t -> node_map * node_map * node_map * (< _replace_children : ?initial:bool -> (int * node_data Otree.node2 array) list -> unit ; _set_is_collapsed : bool -> unit ; add_child : int -> node_data Otree.node2 -> unit ; add_child_leftmost : node_data Otree.node2 -> unit ; add_child_rightmost : node_data Otree.node2 -> unit ; add_children_leftmost : node_data Otree.node2 array -> unit ; add_children_rightmost : node_data Otree.node2 array -> unit ; add_substance : node_data Otree.node2 -> unit ; apath : Diffast_misc.Path.t ; begin_mutation : unit -> unit ; children : node_data Otree.node2 array ; children_indexes : int list ; children_uids : Diffast_misc.UID.t list ; clear_collapsible : unit ; clear_in_path : unit ; collapse : int -> Diffast_misc.Xhash.t -> unit ; collapse_locked : bool ; collapse_not_locked : bool ; collapsible : bool ; data : < _anonymized2_label : string ; _anonymized_label : string ; _digest : Diffast_misc.Xhash.t option ; _digest_string : string ; _label : string ; _stripped_label : string ; anonymized2_label : string ; anonymized_label : string ; content_digest : Xhash.t option ; content_digest_string : string ; digest : Diffast_misc.Xhash.t option ; digest_string : string ; dirname : string ; eq : node_data -> bool ; equals : node_data -> bool ; feature : string * Xhash.t option ; get_content_channel_for_xml : unit -> Xchannel.base64_input_channel ; get_content_digest : Xhash.t ; get_name : string ; get_stripped_name : string ; gid : Otree.GI.t ; id : string ; is_auxfile : bool ; is_dir : bool ; is_file : bool ; label : string ; path : string ; quasi_eq : node_data -> bool ; relabel_allowed : node_data -> bool ; reset_digest : unit ; set_content_digest : Xhash.t -> unit ; set_digest : Diffast_misc.Xhash.t -> unit ; set_gid : Otree.GI.t -> unit ; set_is_auxfile : unit ; set_weight : int -> unit ; stripped_label : string ; to_elem_data : string * (string * string) list * string ; to_rep : string ; to_string : string ; weight : int > ; decide_collapsible_or_not : unit ; del_leftmost_child : unit -> unit ; del_rightmost_child : unit -> unit ; end_mutation : ?overwrite:bool -> unit -> unit ; expand : unit ; get_substances : node_data Otree.node2 list ; gindex : Otree.GI.t ; has_hidden_parent : bool ; has_initial_parent : bool ; has_later_mutation : bool ; has_parent : bool ; hash : int ; hidden_children : node_data Otree.node2 array ; hidden_parent : node_data Otree.node2 ; hide_parent : unit ; in_path : bool ; index : int ; init_mutation : unit -> unit ; initial_ancestor_nodes : node_data Otree.node2 list ; initial_children : node_data Otree.node2 array ; initial_children_uids : Diffast_misc.UID.t list ; initial_nchildren : int ; initial_parent : node_data Otree.node2 ; initial_pos : int ; initial_to_string : string ; insert_path : node_data Otree.node2 list -> unit ; is_collapsed : bool ; is_contracted : bool ; is_leaf : bool ; is_valid : bool ; iter_initial_ancestor_nodes : (node_data Otree.node2 -> unit) -> unit ; lock_collapse : unit ; nchildren : int ; nth_child : int -> node_data Otree.node2 ; parent : node_data Otree.node2 ; parent_edge : node_data Otree.node2 option ; path : node_data Otree.node2 Otree.path ; pos : int ; preorder_index : int ; print : unit ; prune : unit ; prune_all_children : unit ; prune_children : int list -> unit ; prune_initial_children : int list -> unit ; prune_nth_child : int -> unit ; replace_children : (int * node_data Otree.node2 array) list -> unit ; replace_nth_child : int -> node_data Otree.node2 array -> unit ; set_apath : Diffast_misc.Path.t -> unit ; set_children : node_data Otree.node2 array -> unit ; set_collapsible : unit ; set_data : node_data -> unit ; set_digest : Diffast_misc.Xhash.t -> unit ; set_gindex : Otree.GI.t -> unit ; set_hidden_children : node_data Otree.node2 array -> unit ; set_in_path : unit ; set_index : int -> unit ; set_initial_children : node_data Otree.node2 array -> unit ; set_initial_parent : node_data Otree.node2 -> unit ; set_initial_pos : int -> unit ; set_parent : node_data Otree.node2 -> unit ; set_parent_edge : node_data Otree.node2 option -> unit ; set_path : node_data Otree.node2 list -> unit ; set_pos : int -> unit ; set_preorder_index : int -> unit ; to_dot : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_dot_str : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_dot_str_ini : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_qualified_string : string ; to_rep : string ; to_string : string ; uid : Diffast_misc.UID.t ; unhide_parent : unit ; unlock_collapse : unit ; v_delete_child : int -> unit ; v_delete_children : int list -> unit ; v_insert_child : ?later:bool -> ?offset:float -> int -> node_data Otree.node2 -> unit ; v_insert_children : ?later:bool -> ?offset:float -> int -> node_data Otree.node2 list -> unit ; v_update_child : int -> node_data Otree.node2 -> unit ; v_update_children : int -> node_data Otree.node2 list -> unit > * < _replace_children : ?initial:bool -> (int * node_data Otree.node2 array) list -> unit ; _set_is_collapsed : bool -> unit ; add_child : int -> node_data Otree.node2 -> unit ; add_child_leftmost : node_data Otree.node2 -> unit ; add_child_rightmost : node_data Otree.node2 -> unit ; add_children_leftmost : node_data Otree.node2 array -> unit ; add_children_rightmost : node_data Otree.node2 array -> unit ; add_substance : node_data Otree.node2 -> unit ; apath : Diffast_misc.Path.t ; begin_mutation : unit -> unit ; children : node_data Otree.node2 array ; children_indexes : int list ; children_uids : Diffast_misc.UID.t list ; clear_collapsible : unit ; clear_in_path : unit ; collapse : int -> Diffast_misc.Xhash.t -> unit ; collapse_locked : bool ; collapse_not_locked : bool ; collapsible : bool ; data : < _anonymized2_label : string ; _anonymized_label : string ; _digest : Diffast_misc.Xhash.t option ; _digest_string : string ; _label : string ; _stripped_label : string ; anonymized2_label : string ; anonymized_label : string ; content_digest : Xhash.t option ; content_digest_string : string ; digest : Diffast_misc.Xhash.t option ; digest_string : string ; dirname : string ; eq : node_data -> bool ; equals : node_data -> bool ; feature : string * Xhash.t option ; get_content_channel_for_xml : unit -> Xchannel.base64_input_channel ; get_content_digest : Xhash.t ; get_name : string ; get_stripped_name : string ; gid : Otree.GI.t ; id : string ; is_auxfile : bool ; is_dir : bool ; is_file : bool ; label : string ; path : string ; quasi_eq : node_data -> bool ; relabel_allowed : node_data -> bool ; reset_digest : unit ; set_content_digest : Xhash.t -> unit ; set_digest : Diffast_misc.Xhash.t -> unit ; set_gid : Otree.GI.t -> unit ; set_is_auxfile : unit ; set_weight : int -> unit ; stripped_label : string ; to_elem_data : string * (string * string) list * string ; to_rep : string ; to_string : string ; weight : int > ; decide_collapsible_or_not : unit ; del_leftmost_child : unit -> unit ; del_rightmost_child : unit -> unit ; end_mutation : ?overwrite:bool -> unit -> unit ; expand : unit ; get_substances : node_data Otree.node2 list ; gindex : Otree.GI.t ; has_hidden_parent : bool ; has_initial_parent : bool ; has_later_mutation : bool ; has_parent : bool ; hash : int ; hidden_children : node_data Otree.node2 array ; hidden_parent : node_data Otree.node2 ; hide_parent : unit ; in_path : bool ; index : int ; init_mutation : unit -> unit ; initial_ancestor_nodes : node_data Otree.node2 list ; initial_children : node_data Otree.node2 array ; initial_children_uids : Diffast_misc.UID.t list ; initial_nchildren : int ; initial_parent : node_data Otree.node2 ; initial_pos : int ; initial_to_string : string ; insert_path : node_data Otree.node2 list -> unit ; is_collapsed : bool ; is_contracted : bool ; is_leaf : bool ; is_valid : bool ; iter_initial_ancestor_nodes : (node_data Otree.node2 -> unit) -> unit ; lock_collapse : unit ; nchildren : int ; nth_child : int -> node_data Otree.node2 ; parent : node_data Otree.node2 ; parent_edge : node_data Otree.node2 option ; path : node_data Otree.node2 Otree.path ; pos : int ; preorder_index : int ; print : unit ; prune : unit ; prune_all_children : unit ; prune_children : int list -> unit ; prune_initial_children : int list -> unit ; prune_nth_child : int -> unit ; replace_children : (int * node_data Otree.node2 array) list -> unit ; replace_nth_child : int -> node_data Otree.node2 array -> unit ; set_apath : Diffast_misc.Path.t -> unit ; set_children : node_data Otree.node2 array -> unit ; set_collapsible : unit ; set_data : node_data -> unit ; set_digest : Diffast_misc.Xhash.t -> unit ; set_gindex : Otree.GI.t -> unit ; set_hidden_children : node_data Otree.node2 array -> unit ; set_in_path : unit ; set_index : int -> unit ; set_initial_children : node_data Otree.node2 array -> unit ; set_initial_parent : node_data Otree.node2 -> unit ; set_initial_pos : int -> unit ; set_parent : node_data Otree.node2 -> unit ; set_parent_edge : node_data Otree.node2 option -> unit ; set_path : node_data Otree.node2 list -> unit ; set_pos : int -> unit ; set_preorder_index : int -> unit ; to_dot : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_dot_str : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_dot_str_ini : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_qualified_string : string ; to_rep : string ; to_string : string ; uid : Diffast_misc.UID.t ; unhide_parent : unit ; unlock_collapse : unit ; v_delete_child : int -> unit ; v_delete_children : int list -> unit ; v_insert_child : ?later:bool -> ?offset:float -> int -> node_data Otree.node2 -> unit ; v_insert_children : ?later:bool -> ?offset:float -> int -> node_data Otree.node2 list -> unit ; v_update_child : int -> node_data Otree.node2 -> unit ; v_update_children : int -> node_data Otree.node2 list -> unit > list) list * (< _replace_children : ?initial:bool -> (int * node_data Otree.node2 array) list -> unit ; _set_is_collapsed : bool -> unit ; add_child : int -> node_data Otree.node2 -> unit ; add_child_leftmost : node_data Otree.node2 -> unit ; add_child_rightmost : node_data Otree.node2 -> unit ; add_children_leftmost : node_data Otree.node2 array -> unit ; add_children_rightmost : node_data Otree.node2 array -> unit ; add_substance : node_data Otree.node2 -> unit ; apath : Diffast_misc.Path.t ; begin_mutation : unit -> unit ; children : node_data Otree.node2 array ; children_indexes : int list ; children_uids : Diffast_misc.UID.t list ; clear_collapsible : unit ; clear_in_path : unit ; collapse : int -> Diffast_misc.Xhash.t -> unit ; collapse_locked : bool ; collapse_not_locked : bool ; collapsible : bool ; data : < _anonymized2_label : string ; _anonymized_label : string ; _digest : Diffast_misc.Xhash.t option ; _digest_string : string ; _label : string ; _stripped_label : string ; anonymized2_label : string ; anonymized_label : string ; content_digest : Xhash.t option ; content_digest_string : string ; digest : Diffast_misc.Xhash.t option ; digest_string : string ; dirname : string ; eq : node_data -> bool ; equals : node_data -> bool ; feature : string * Xhash.t option ; get_content_channel_for_xml : unit -> Xchannel.base64_input_channel ; get_content_digest : Xhash.t ; get_name : string ; get_stripped_name : string ; gid : Otree.GI.t ; id : string ; is_auxfile : bool ; is_dir : bool ; is_file : bool ; label : string ; path : string ; quasi_eq : node_data -> bool ; relabel_allowed : node_data -> bool ; reset_digest : unit ; set_content_digest : Xhash.t -> unit ; set_digest : Diffast_misc.Xhash.t -> unit ; set_gid : Otree.GI.t -> unit ; set_is_auxfile : unit ; set_weight : int -> unit ; stripped_label : string ; to_elem_data : string * (string * string) list * string ; to_rep : string ; to_string : string ; weight : int > ; decide_collapsible_or_not : unit ; del_leftmost_child : unit -> unit ; del_rightmost_child : unit -> unit ; end_mutation : ?overwrite:bool -> unit -> unit ; expand : unit ; get_substances : node_data Otree.node2 list ; gindex : Otree.GI.t ; has_hidden_parent : bool ; has_initial_parent : bool ; has_later_mutation : bool ; has_parent : bool ; hash : int ; hidden_children : node_data Otree.node2 array ; hidden_parent : node_data Otree.node2 ; hide_parent : unit ; in_path : bool ; index : int ; init_mutation : unit -> unit ; initial_ancestor_nodes : node_data Otree.node2 list ; initial_children : node_data Otree.node2 array ; initial_children_uids : Diffast_misc.UID.t list ; initial_nchildren : int ; initial_parent : node_data Otree.node2 ; initial_pos : int ; initial_to_string : string ; insert_path : node_data Otree.node2 list -> unit ; is_collapsed : bool ; is_contracted : bool ; is_leaf : bool ; is_valid : bool ; iter_initial_ancestor_nodes : (node_data Otree.node2 -> unit) -> unit ; lock_collapse : unit ; nchildren : int ; nth_child : int -> node_data Otree.node2 ; parent : node_data Otree.node2 ; parent_edge : node_data Otree.node2 option ; path : node_data Otree.node2 Otree.path ; pos : int ; preorder_index : int ; print : unit ; prune : unit ; prune_all_children : unit ; prune_children : int list -> unit ; prune_initial_children : int list -> unit ; prune_nth_child : int -> unit ; replace_children : (int * node_data Otree.node2 array) list -> unit ; replace_nth_child : int -> node_data Otree.node2 array -> unit ; set_apath : Diffast_misc.Path.t -> unit ; set_children : node_data Otree.node2 array -> unit ; set_collapsible : unit ; set_data : node_data -> unit ; set_digest : Diffast_misc.Xhash.t -> unit ; set_gindex : Otree.GI.t -> unit ; set_hidden_children : node_data Otree.node2 array -> unit ; set_in_path : unit ; set_index : int -> unit ; set_initial_children : node_data Otree.node2 array -> unit ; set_initial_parent : node_data Otree.node2 -> unit ; set_initial_pos : int -> unit ; set_parent : node_data Otree.node2 -> unit ; set_parent_edge : node_data Otree.node2 option -> unit ; set_path : node_data Otree.node2 list -> unit ; set_pos : int -> unit ; set_preorder_index : int -> unit ; to_dot : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_dot_str : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_dot_str_ini : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_qualified_string : string ; to_rep : string ; to_string : string ; uid : Diffast_misc.UID.t ; unhide_parent : unit ; unlock_collapse : unit ; v_delete_child : int -> unit ; v_delete_children : int list -> unit ; v_insert_child : ?later:bool -> ?offset:float -> int -> node_data Otree.node2 -> unit ; v_insert_children : ?later:bool -> ?offset:float -> int -> node_data Otree.node2 list -> unit ; v_update_child : int -> node_data Otree.node2 -> unit ; v_update_children : int -> node_data Otree.node2 list -> unit > list * < _replace_children : ?initial:bool -> (int * node_data Otree.node2 array) list -> unit ; _set_is_collapsed : bool -> unit ; add_child : int -> node_data Otree.node2 -> unit ; add_child_leftmost : node_data Otree.node2 -> unit ; add_child_rightmost : node_data Otree.node2 -> unit ; add_children_leftmost : node_data Otree.node2 array -> unit ; add_children_rightmost : node_data Otree.node2 array -> unit ; add_substance : node_data Otree.node2 -> unit ; apath : Diffast_misc.Path.t ; begin_mutation : unit -> unit ; children : node_data Otree.node2 array ; children_indexes : int list ; children_uids : Diffast_misc.UID.t list ; clear_collapsible : unit ; clear_in_path : unit ; collapse : int -> Diffast_misc.Xhash.t -> unit ; collapse_locked : bool ; collapse_not_locked : bool ; collapsible : bool ; data : < _anonymized2_label : string ; _anonymized_label : string ; _digest : Diffast_misc.Xhash.t option ; _digest_string : string ; _label : string ; _stripped_label : string ; anonymized2_label : string ; anonymized_label : string ; content_digest : Xhash.t option ; content_digest_string : string ; digest : Diffast_misc.Xhash.t option ; digest_string : string ; dirname : string ; eq : node_data -> bool ; equals : node_data -> bool ; feature : string * Xhash.t option ; get_content_channel_for_xml : unit -> Xchannel.base64_input_channel ; get_content_digest : Xhash.t ; get_name : string ; get_stripped_name : string ; gid : Otree.GI.t ; id : string ; is_auxfile : bool ; is_dir : bool ; is_file : bool ; label : string ; path : string ; quasi_eq : node_data -> bool ; relabel_allowed : node_data -> bool ; reset_digest : unit ; set_content_digest : Xhash.t -> unit ; set_digest : Diffast_misc.Xhash.t -> unit ; set_gid : Otree.GI.t -> unit ; set_is_auxfile : unit ; set_weight : int -> unit ; stripped_label : string ; to_elem_data : string * (string * string) list * string ; to_rep : string ; to_string : string ; weight : int > ; decide_collapsible_or_not : unit ; del_leftmost_child : unit -> unit ; del_rightmost_child : unit -> unit ; end_mutation : ?overwrite:bool -> unit -> unit ; expand : unit ; get_substances : node_data Otree.node2 list ; gindex : Otree.GI.t ; has_hidden_parent : bool ; has_initial_parent : bool ; has_later_mutation : bool ; has_parent : bool ; hash : int ; hidden_children : node_data Otree.node2 array ; hidden_parent : node_data Otree.node2 ; hide_parent : unit ; in_path : bool ; index : int ; init_mutation : unit -> unit ; initial_ancestor_nodes : node_data Otree.node2 list ; initial_children : node_data Otree.node2 array ; initial_children_uids : Diffast_misc.UID.t list ; initial_nchildren : int ; initial_parent : node_data Otree.node2 ; initial_pos : int ; initial_to_string : string ; insert_path : node_data Otree.node2 list -> unit ; is_collapsed : bool ; is_contracted : bool ; is_leaf : bool ; is_valid : bool ; iter_initial_ancestor_nodes : (node_data Otree.node2 -> unit) -> unit ; lock_collapse : unit ; nchildren : int ; nth_child : int -> node_data Otree.node2 ; parent : node_data Otree.node2 ; parent_edge : node_data Otree.node2 option ; path : node_data Otree.node2 Otree.path ; pos : int ; preorder_index : int ; print : unit ; prune : unit ; prune_all_children : unit ; prune_children : int list -> unit ; prune_initial_children : int list -> unit ; prune_nth_child : int -> unit ; replace_children : (int * node_data Otree.node2 array) list -> unit ; replace_nth_child : int -> node_data Otree.node2 array -> unit ; set_apath : Diffast_misc.Path.t -> unit ; set_children : node_data Otree.node2 array -> unit ; set_collapsible : unit ; set_data : node_data -> unit ; set_digest : Diffast_misc.Xhash.t -> unit ; set_gindex : Otree.GI.t -> unit ; set_hidden_children : node_data Otree.node2 array -> unit ; set_in_path : unit ; set_index : int -> unit ; set_initial_children : node_data Otree.node2 array -> unit ; set_initial_parent : node_data Otree.node2 -> unit ; set_initial_pos : int -> unit ; set_parent : node_data Otree.node2 -> unit ; set_parent_edge : node_data Otree.node2 option -> unit ; set_path : node_data Otree.node2 list -> unit ; set_pos : int -> unit ; set_preorder_index : int -> unit ; to_dot : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_dot_str : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_dot_str_ini : ?mklab:(node_data Otree.node2 -> string) -> unit -> string ; to_qualified_string : string ; to_rep : string ; to_string : string ; uid : Diffast_misc.UID.t ; unhide_parent : unit ; unlock_collapse : unit ; v_delete_child : int -> unit ; v_delete_children : int list -> unit ; v_insert_child : ?later:bool -> ?offset:float -> int -> node_data Otree.node2 -> unit ; v_insert_children : ?later:bool -> ?offset:float -> int -> node_data Otree.node2 list -> unit ; v_update_child : int -> node_data Otree.node2 -> unit ; v_update_children : int -> node_data Otree.node2 list -> unit >) list
val path_split : string -> string list
val compute_dissimilarity : string -> string -> float
val find_rename_pats1 : string -> string -> (string * string) list
val find_rename_pats : (string * string) list -> ((string * string) * int) list
val hyphen_pat : Str.regexp
val repl_hyphen : string -> string
val pp2 : ('a, < data : < content_digest : 'c ; label : string ; path : string.. > ; prune : 'd.. > as 'b list) Hashtbl.t -> ('e, < data : < content_digest : 'c ; label : string ; path : string.. > ; prune : unit.. > as 'f list) Hashtbl.t -> ('b * 'f) list
val analyze : < get : Diffast_misc.Otree.index -> < data : < content_digest : 'b ; digest : 'c option ; digest_string : string ; equals : < content_digest : 'b ; digest : 'c option ; digest_string : string ; is_dir : bool ; is_file : bool ; label : string.. > as 'd -> bool ; is_dir : bool ; is_file : bool ; label : string.. > ; is_collapsed : bool.. > as 'a ; prune_nodes : 'a list -> 'e ; root : 'a ; scan_subtree : 'a -> ('a -> unit) -> 'f.. > -> < get : Diffast_misc.Otree.index -> < data : 'd ; is_collapsed : bool.. > as 'g ; prune_nodes : 'g list -> 'h ; root : 'g ; scan_subtree : 'g -> ('g -> unit) -> 'i.. > -> Edit.t list -> (Diffast_misc.Otree.index * Diffast_misc.Otree.index) list -> 'j -> ('a * 'g) list * ('a * 'g) list * 'a list * 'g list * ('a * 'g) list * ('a * 'g) list
exception Found
val compare_node_lists : < hash_algo : Diffast_misc.Xhash.algo.. > -> < prune_nodes : node_t list -> 'a.. > -> < prune_nodes : node_t list -> 'b.. > -> node_t list -> node_t list -> (node_t * node_t) list * (node_t * node_t) list * node_t list * node_t list * (node_t * node_t) list * (node_t * node_t) list
val counter : Misc.counter
val compare_subtree : < dots_flag : bool ; hash_algo : Diffast_misc.Xhash.algo.. > -> string -> (c * c) -> (node_t * node_t) list * (node_t * node_t) list * (node_t * node_t) list
val save_modified_list : string -> (string * string * string * string * string * string * int * int * int * int * int * int * int * int * int * int * string * int * int * int * string) list -> unit
val save_files_list1N : string -> (< path : string.. > * < path : string.. > list) list -> unit
val save_files_listN1 : string -> (< path : string.. > list * < path : string.. >) list -> unit
val save_files_list2 : string -> (< path : string.. > * < path : string.. >) list -> unit
val save_files_list : string -> string -> < path : string.. > list -> unit
val save_result : string -> (< path : string.. > * < path : string.. >) list -> unit
type info = {
  1. i_cache_path : string;
  2. i_dtree1 : c;
  3. i_dtree2 : c;
  4. mutable i_modified : (Storage.file * Storage.file) list;
  5. mutable i_unmodified : (Storage.file * Storage.file) list;
  6. i_renamed : (Storage.file * Storage.file) list;
  7. i_moved : (Storage.file * Storage.file) list;
  8. i_removed : Storage.file list;
  9. i_added : Storage.file list;
  10. i_copied : (Storage.file * Storage.file list) list;
  11. i_glued : (Storage.file list * Storage.file) list;
}
val save_extra_result : < cache_dir_base : string ; fuzzy_cache_flag : bool ; get_cache_path_for_file2 : Storage.file -> Storage.file -> string ; layered_cache_flag : bool ; local_cache_name : string ; max_retry_count : int ; verbose_flag : bool.. > -> ?get_cache_name:(Storage.file -> Storage.file -> string) -> info -> unit
exception Cache_not_found
val dump_diff_stat : < check_extension : string -> bool ; designated_parser : string ; get_cache_path_for_dir_digest2 : Diffast_misc.Xhash.t -> Diffast_misc.Xhash.t -> string ; hash_algo : Diffast_misc.Xhash.algo ; is_disabled_parser : string -> bool ; uid_generator : Diffast_misc.UID.generator ; verbose_flag : bool.. > -> Storage.tree -> Storage.tree -> SD.diff_stat -> unit
class diff_result : cache_path:string -> all_leaves1:node_t list -> all_leaves2:node_t list -> removed: node_t list -> added:node_t list -> modified:node_map -> renamed:node_map -> moved: node_map -> copied:(node_t * node_t list) list -> glued:(node_t list * node_t) list -> object ... end
val null_fact_extractor : 'a -> 'b -> unit
val fact_extractor : < fact_algo : T.Xhash.algo ; fact_compression : T.C.c ; fact_enc : Entity.encoding ; fact_flag : bool ; fact_for_changes_flag : bool ; fact_for_mapping_flag : bool ; fact_into_directory : string ; fact_into_virtuoso : string ; fact_proj : string ; fact_proj_roots : string array ; fact_size_threshold : int ; fact_versions : (Entity.vkind * string) array ; fact_virtuoso_temp_dir : string ; local_cache_name : string ; verbose_flag : bool.. > -> < added : < data : < get_content_digest : T.Xhash.t ; path : string.. >.. > as 'a list ; all_leaves1 : < data : < get_content_digest : T.Xhash.t ; is_auxfile : bool ; path : string.. >.. > list ; all_leaves2 : < data : < get_content_digest : T.Xhash.t ; is_auxfile : bool ; path : string.. >.. > list ; cache_path : string ; copied : (< data : < get_content_digest : T.Xhash.t ; path : string.. >.. > as 'b * 'a list) list ; glued : ('b list * 'a) list ; modified : < iter : ('b -> 'a -> unit) -> unit.. > ; moved : < iter : ('b -> 'a -> unit) -> 'c.. > ; removed : 'b list ; renamed : < iter : ('b -> 'a -> unit) -> 'd.. >.. > -> unit
val compare_dirs : < check_extension : string -> bool ; clear_cache_flag : bool ; default_dir_permission : Unix.file_perm ; designated_parser : string ; dots_flag : bool ; fact_proj_roots : string array ; get_cache_path_for_dir_digest2 : Diffast_misc.Xhash.t -> Diffast_misc.Xhash.t -> string ; git_hash_flag : bool ; hash_algo : Diffast_misc.Xhash.algo ; is_disabled_parser : string -> bool ; keep_filtered_temp_file_flag : bool ; uid_generator : Diffast_misc.UID.generator ; verbose_flag : bool ; viewer_flag : bool.. > -> string -> string -> info
val compare_trees : < check_extension : string -> bool ; clear_cache_flag : bool ; default_dir_permission : Unix.file_perm ; designated_parser : string ; dots_flag : bool ; fact_algo : T.Xhash.algo ; fact_compression : T.C.c ; fact_enc : Entity.encoding ; fact_flag : bool ; fact_for_changes_flag : bool ; fact_for_mapping_flag : bool ; fact_into_directory : string ; fact_into_virtuoso : string ; fact_proj : string ; fact_proj_roots : string array ; fact_size_threshold : int ; fact_versions : (Entity.vkind * string) array ; fact_virtuoso_temp_dir : string ; get_cache_path_for_dir_digest2 : Diffast_misc.Xhash.t -> Diffast_misc.Xhash.t -> string ; hash_algo : Diffast_misc.Xhash.algo ; is_disabled_parser : string -> bool ; local_cache_name : string ; uid_generator : Diffast_misc.UID.generator ; verbose_flag : bool ; viewer_flag : bool.. > -> Storage.tree -> Storage.tree -> info
OCaml

Innovation. Community. Security.