#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))]
#![deny(missing_docs)]
#![warn(rustdoc::unescaped_backticks)]
pub mod porcelain;
pub mod progress;
pub mod prelude {
pub use crate::command_runner::{CommandRunner, RecordingRunner, SystemCommandRunner};
pub use crate::config::ConfigSet;
pub use crate::diagnostics::{
CollectingDiagnostics, DiagnosticSink, NullDiagnostics, Trace, Warning,
};
pub use crate::environment::{Environment, RepositoryOptions};
pub use crate::error::{Error, MidxError, Result};
pub use crate::index::Index;
pub use crate::objects::odb::Odb;
pub use crate::objects::{Object, ObjectId, ObjectInfo, ObjectKind};
pub use crate::repo::{
resolve_initial_branch, DiscoveryInfo, InitOptions, InitOutcome, Repository,
RepositoryBuilder,
};
}
pub mod revwalk;
pub mod stash;
pub mod apply;
pub(crate) mod attributes;
pub mod blame;
pub(crate) mod bloom;
pub(crate) mod branch_inventory;
pub(crate) mod branch_tracking;
pub mod bundle;
pub(crate) mod bundle_remote;
pub mod change_id;
pub(crate) mod check_ref_format;
pub(crate) mod clone;
pub(crate) mod combined_diff_patch;
pub(crate) mod combined_tree_diff;
pub mod command_runner;
pub mod commit;
pub(crate) mod commit_encoding;
pub(crate) mod commit_graph_file;
pub(crate) mod commit_graph_write;
pub(crate) mod commit_pretty;
pub(crate) mod commit_trailers;
pub mod config;
pub(crate) mod connectivity;
pub(crate) mod credentials;
pub(crate) mod crlf;
pub(crate) mod delta_encode;
pub(crate) mod delta_islands;
pub mod diagnostics;
pub mod diff;
pub(crate) mod diff_indent_heuristic;
mod diff_rename_parallel;
pub(crate) mod diffstat;
pub(crate) mod dotfile;
pub(crate) mod environment;
pub mod error;
mod ewah_bitmap;
pub(crate) mod github_auth;
pub(crate) mod line_interner;
pub(crate) mod oid_abbrev_cache;
pub(crate) mod pack_roll_delta;
pub(crate) mod partial_clone;
#[path = "bench_fixture/mod.rs"]
mod bench_fixture_root;
pub(crate) mod bitmap_walk;
pub(crate) mod fetch;
pub(crate) mod fetch_head;
pub(crate) mod fetch_negotiator;
mod fetch_request;
pub(crate) mod filter_process;
pub(crate) mod fmt_merge_msg;
pub(crate) mod fsck;
pub(crate) mod fsck_standalone;
#[path = "fsmonitor.rs"]
mod fsmonitor_root;
pub(crate) mod gc;
pub(crate) mod git_binary_base85;
pub(crate) mod git_date;
pub(crate) mod git_path;
pub(crate) mod gitmodules;
pub(crate) mod hash;
pub(crate) mod hide_refs;
#[path = "history/mod.rs"]
mod history_root;
pub(crate) use history_root as history;
pub(crate) mod hooks;
pub mod ident;
pub(crate) mod ident_config;
pub(crate) mod ident_resolve;
pub(crate) mod ignore;
pub mod index;
mod index_eoie_ieot;
pub(crate) mod index_name_hash_lazy;
pub(crate) mod index_pack;
pub(crate) mod init_filesystem;
pub(crate) mod interpret_trailers;
pub mod list_limit;
pub(crate) mod local_object_copy;
pub mod lockfile;
pub(crate) mod log_walk;
pub(crate) mod mailmap;
pub mod maintenance;
pub(crate) mod merge_base;
pub(crate) mod merge_diff;
pub(crate) mod merge_file;
pub(crate) mod merge_trees;
pub(crate) mod midx;
pub(crate) mod midx_error;
pub(crate) mod net_trace;
pub mod notes;
#[path = "object_inspect.rs"]
mod object_inspect_root;
pub mod objects;
pub(crate) mod odb;
pub mod operation;
pub(crate) mod pack;
pub(crate) mod pack_bitmap;
mod pack_delta;
mod pack_fsck_verify;
mod pack_index;
pub(crate) mod pack_index_build;
mod pack_map;
pub(crate) mod pack_name_hash;
pub(crate) mod pack_object_select;
pub(crate) mod pack_objects;
pub(crate) mod pack_receive;
#[path = "pack_reuse.rs"]
mod pack_reuse_root;
pub(crate) mod pack_rev;
pub(crate) mod pack_store;
pub(crate) mod pack_stream_scan;
#[path = "pack_write.rs"]
mod pack_write_root;
pub(crate) mod pack_zlib;
pub mod parallel;
pub(crate) mod patch_ids;
pub(crate) mod path_icase;
pub(crate) mod path_population;
pub mod path_validate;
pub mod pathspec;
pub(crate) mod pkt_line;
pub(crate) mod precompose_config;
pub(crate) mod promisor;
pub(crate) mod promisor_remote;
pub(crate) mod protocol;
pub(crate) mod protocol_v2;
pub(crate) mod prune_packed;
pub(crate) mod push;
pub(crate) mod push_report;
#[path = "quote_path.rs"]
mod quote_path_root;
mod read_dir_kind;
pub(crate) mod receive_pack;
pub(crate) mod receive_quarantine;
pub(crate) mod ref_exclusions;
pub(crate) mod ref_namespace;
pub(crate) mod ref_storage;
pub(crate) mod reflog;
pub mod refs;
pub(crate) mod refs_fsck;
pub(crate) mod refspec;
pub(crate) mod reftable;
pub mod remote;
pub mod repo;
pub(crate) mod repo_caches;
pub mod repo_handles;
#[doc(hidden)]
pub mod repo_relpath;
pub(crate) mod rerere;
pub(crate) mod resolve_undo;
pub(crate) mod rev_list;
pub(crate) mod rev_list_error;
pub(crate) mod rev_parse;
pub(crate) mod rev_parse_error;
pub(crate) mod serve;
pub(crate) mod shallow;
pub(crate) mod shared_repo;
pub(crate) mod sideband_lines;
pub(crate) mod signing;
pub(crate) mod sparse_checkout;
pub(crate) mod split_index;
pub mod state;
pub(crate) mod stripspace;
pub(crate) mod submodule_gitdir;
pub(crate) mod terminal;
pub(crate) mod textconv_cache;
pub(crate) mod trace;
mod tracked_path_tree;
pub(crate) mod transfer;
pub(crate) mod transport;
pub(crate) mod transport_path;
pub mod tree_sha256;
pub(crate) mod unicode_normalization;
pub(crate) mod unpack_objects;
pub(crate) mod untracked_cache;
pub(crate) mod upload_filter;
pub(crate) mod url_rewrite;
pub(crate) mod userdiff;
pub(crate) mod wildmatch;
pub mod worktree;
mod worktree_batch;
pub(crate) mod worktree_cwd;
pub(crate) mod worktree_ref;
pub(crate) mod worktree_rules;
mod worktree_rules_tests;
mod worktree_scan;
pub use crate::hooks::HookName;
pub use worktree_scan::PARALLEL_STAT_MIN_ENTRIES;
#[doc(hidden)]
pub use worktree_scan::{reset_worktree_metadata_probe, worktree_metadata_probe_count};
pub(crate) mod write_tree;
pub(crate) mod ws;
pub(crate) mod zlib_inflate;
#[doc(hidden)]
pub mod fuzz;
pub use ref_storage::RefStorageFormat;
pub use objects::bench_fixture;
pub use objects::pack_reuse;
pub use objects::pack_write;
pub use porcelain::quote_path;
pub use revwalk::object_inspect;
pub use worktree::fsmonitor;
#[cfg(feature = "unstable-bench-helpers")]
pub use pack_receive::{read_sideband_pack_to, PackReceiveTarget};
#[cfg(test)]
pub(crate) mod hot_path_test_metrics;
#[cfg(test)]
mod object_write_regression;
#[cfg(test)]
mod repository_config_snapshot_tests;