gitoxide_core/repository/
mod.rs1use std::path::PathBuf;
2
3use anyhow::{Context as AnyhowContext, Result};
4use gix::bstr::BString;
5
6pub fn init(directory: Option<PathBuf>) -> Result<gix::discover::repository::Path> {
7 gix::create::into(
8 directory.unwrap_or_default(),
9 gix::create::Kind::WithWorktree,
10 gix::create::Options::default(),
11 )
12 .with_context(|| "Repository initialization failed")
13}
14
15pub enum PathsOrPatterns {
16 Paths(Box<dyn std::iter::Iterator<Item = BString>>),
17 Patterns(Vec<BString>),
18}
19
20#[cfg(feature = "archive")]
21pub mod archive;
22pub mod cat;
23pub use cat::function::cat;
24pub mod blame;
25pub mod commit;
26pub mod config;
27mod credential;
28pub use credential::function as credential;
29pub mod attributes;
30#[cfg(feature = "clean")]
31pub mod clean;
32pub mod diff;
33pub mod dirty;
34#[cfg(feature = "clean")]
35pub use clean::function::clean;
36#[cfg(feature = "blocking-client")]
37pub mod clone;
38pub mod exclude;
39#[cfg(feature = "blocking-client")]
40pub mod fetch;
41#[cfg(feature = "blocking-client")]
42pub use clone::function::clone;
43#[cfg(feature = "blocking-client")]
44pub use fetch::function::fetch;
45
46pub mod commitgraph;
47mod fsck;
48pub use fsck::function as fsck;
49pub mod index;
50pub mod log;
51pub mod mailmap;
52mod merge_base;
53pub use merge_base::merge_base;
54pub mod merge;
55pub mod odb;
56pub mod remote;
57pub mod revision;
58pub mod status;
59pub mod submodule;
60pub mod tree;
61pub mod verify;
62pub mod worktree;