Docs.rs
  • gitoxide-core-0.47.1
    • gitoxide-core 0.47.1
    • Permalink
    • Docs.rs crate page
    • MIT OR Apache-2.0
    • Links
    • Repository
    • crates.io
    • Source
    • Owners
    • Byron
    • Dependencies
      • anyhow ^1.0.98 normal
      • async-io ^2.2 normal optional
      • async-net ^2.0 normal optional
      • async-trait ^0.1.51 normal optional
      • blocking ^1.0.2 normal optional
      • bytesize ^2.0.1 normal
      • crossbeam-channel ^0.5.15 normal optional
      • document-features ^0.2.0 normal optional
      • fs-err ^3.1.0 normal optional
      • futures-io ^0.3.16 normal optional
      • futures-lite ^2.1.0 normal optional
      • gix ^0.72.1 normal
      • gix-archive ^0.21.1 normal optional
      • gix-fsck ^0.11.1 normal
      • gix-pack ^0.59.1 normal
      • gix-status ^0.19.1 normal
      • gix-transport ^0.47.0 normal
      • gix-url ^0.31.0 normal optional
      • jwalk ^0.8.0 normal optional
      • layout-rs ^0.1.3 normal
      • open ^5.0.0 normal
      • parking_lot ^0.12.1 normal optional
      • rusqlite ^0.35.0 normal optional
      • serde ^1.0.114 normal optional
      • serde_json ^1.0.65 normal optional
      • smallvec ^1.15.0 normal optional
      • sysinfo ^0.34.2 normal optional
      • tempfile ^3.19.1 normal
      • thiserror ^2.0.0 normal
      • tracing ^0.1.37 normal optional
      • tracing-forest ^0.1.5 normal optional
      • tracing-subscriber ^0.3.17 normal optional
    • Versions
    • 12.3% of the crate is documented
  • Platform
    • i686-pc-windows-msvc
    • i686-unknown-linux-gnu
    • x86_64-apple-darwin
    • x86_64-pc-windows-msvc
    • x86_64-unknown-linux-gnu
  • Feature flags
  • docs.rs
    • About docs.rs
    • Privacy policy
  • Rust
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate gitoxide_core

gitoxide_core0.47.1

  • All Items

Sections

  • What is gix?
  • This crate is internal - use gix instead.
  • Feature Flags
    • Tools
    • Mutually Exclusive Networking
    • Other

Crate Items

  • Modules
  • Enums
  • Functions

Crates

  • gitoxide_core

Crate gitoxide_core

Source
Expand description

The purpose of this crate is to abstract the user interface of gix (the command-line interface) from the actual implementation. That way, one day it’s possible to provide alternative frontends, including user interfaces.

§What is gix?

gix is a tool to aid developers of gitoxide run their code in real-world situations and to validate the gix API. This makes it more of a test-bed than a tool that could ever rival git in terms of feature-set.

That said, gix may actively carve out a niche for itself where it sees the greatest benefits for users of git.

§This crate is internal - use gix instead.

It’s important to understand that this crate consider itself an implementation detail of the gix CLI and is not meant to be used for external consumption by means of cargo dependency. This is emphasized by there being no other documentation. There is also no intention of ever stabilizing this crate.

If you want to get started with what powers gix, please take a look at the gix crate which provides all the building blocks to create any application, including a carbon-copy of git itself (at least aspirationally as not all capabilities are available in gix yet).

For users of gix, this codebase might serve as elaborate example as most of not all of its APIs are used here.

§Feature Flags

§Tools

  • organize — Discover all git repositories within a directory. Particularly useful with skim.
  • estimate-hours — Derive the amount of time invested into a git repository akin to git-hours.
  • query — Gather information about repositories and store it in a database for easy querying.
  • corpus — Run algorithms on a corpus of repositories and store their results for later comparison and intelligence gathering. Note that organize we need for finding git repositories fast.
  • archive — The ability to create archives from virtual worktrees, similar to git archive.
  • clean — The ability to clean a repository, similar to git clean.

§Mutually Exclusive Networking

If both are set, blocking-client will take precedence, allowing --all-features to be used.

  • blocking-client — If set, the client used to connect to git servers will use a blocking API. It supports more transports and is what most would want.
  • async-client — The client to connect to git servers will be async, while supporting only the ‘git’ transport itself. It’s the most limited and can be seen as example on how to use custom transports for custom servers.

§Other

  • serde — Data structures implement serde::Serialize and serde::Deserialize.

Modules§

commitgraph
hoursestimate-hours
index
mailmap
net
organizeorganize
pack
repository

Enums§

OutputFormat

Functions§

discover
env

Results

Settings
Help
    struct
    gitoxide_core::pack::receive::BString
    A wrapper for Vec<u8> that provides convenient string …
    method
    gitoxide_core::pack::receive::ByteSlice::as_bstr
    Return this byte slice as a &BStr.
    method
    gitoxide_core::pack::receive::ByteSlice::as_bstr_mut
    Return this byte slice as a &mut BStr.
    method
    gitoxide_core::pack::receive::BString::from
    &BStr -> BString
    method
    gitoxide_core::pack::receive::BString::eq
    &BString, &BStr -> bool
    method
    gitoxide_core::pack::receive::Arguments::want_ref
    &mut Arguments, &BStr -> ()
    Add the given ref to the ‘want-ref’ list.
    method
    gitoxide_core::pack::receive::Arguments::deepen_not
    &mut Arguments, &BStr -> ()
    Do not include commits reachable by the given ref_path …
    method
    gitoxide_core::pack::receive::BString::partial_cmp
    &BString, &BStr -> Option<Ordering>
    function
    gitoxide_core::hours::estimate
    &Path, &BStr, P, Context<W> -> Result<()>
    Estimate the hours it takes to produce the content of the …
    method
    gitoxide_core::pack::receive::BString::as_ref
    &BString -> &BStr
    method
    gitoxide_core::pack::receive::BString::borrow
    &BString -> &BStr
    method
    gitoxide_core::pack::receive::ByteSlice::as_bstr
    &ByteSlice -> &BStr
    Return this byte slice as a &BStr.
    method
    gitoxide_core::pack::receive::BString::as_mut
    &mut BString -> &mut BStr
    method
    gitoxide_core::pack::receive::BString::borrow_mut
    &mut BString -> &mut BStr
    method
    gitoxide_core::pack::receive::ByteSlice::as_bstr_mut
    &mut ByteSlice -> &mut BStr
    Return this byte slice as a &mut BStr.
    method
    gitoxide_core::pack::receive::Ref::unpack
    &Ref -> (&BStr, Option<&oid>, Option<&oid>)
    Provide shared fields referring to the ref itself, namely …