Skip to main content

branchless/git/
mod.rs

1//! Tools for interfacing with the Git repository.
2
3mod config;
4mod diff;
5mod index;
6mod object;
7mod oid;
8mod reference;
9mod repo;
10mod run;
11mod snapshot;
12mod status;
13mod test;
14mod tree;
15
16pub use config::{Config, ConfigRead, ConfigValue, ConfigWrite};
17pub use diff::{Diff, process_diff_for_record, summarize_diff_for_temporary_commit};
18pub use index::{Index, IndexEntry, Stage, UpdateIndexCommand, update_index};
19pub use object::Commit;
20pub use oid::{MaybeZeroOid, NonZeroOid};
21pub use reference::{
22    Branch, BranchType, CategorizedReferenceName, Reference, ReferenceName, ReferenceTarget,
23};
24pub use repo::{
25    AmendFastOptions, CherryPickFastOptions, CreateCommitFastError, Error as RepoError,
26    GitErrorCode, GitVersion, PatchId, Repo, ResolvedReferenceInfo, Result as RepoResult, Time,
27    message_prettify,
28};
29pub use run::{GitRunInfo, GitRunOpts, GitRunResult};
30pub use snapshot::{WorkingCopyChangesType, WorkingCopySnapshot};
31pub use status::{FileMode, FileStatus, StatusEntry};
32pub use test::{
33    SerializedNonZeroOid, SerializedTestResult, TEST_ABORT_EXIT_CODE, TEST_INDETERMINATE_EXIT_CODE,
34    TEST_SUCCESS_EXIT_CODE, TestCommand, get_latest_test_command_path, get_test_locks_dir,
35    get_test_tree_dir, get_test_worktrees_dir, make_test_command_slug,
36};
37pub use tree::{
38    Tree, dehydrate_tree, get_changed_paths_between_trees, hydrate_tree, make_empty_tree,
39};