35 lines · 1.3 KB · Rust
RawDownload
use std::path::PathBuf; mod error {    /// The error returned by [`crate::Store::at()`].    #[derive(Debug, thiserror::Error)]    pub enum Error {        #[error("There was an error accessing the store's directory")]        Io(#[from] std::io::Error),    }} pub use error::Error; use crate::file; #[expect(    dead_code,    reason = "callers still initialize file::Store directly while the general store awaits ref-table support")]impl crate::Store {    /// Create a new store at the given location, typically the `.git/` directory.    /// Use [`opts`](crate::store::init::Options) to adjust settings.    ///    /// Note that if [`precompose_unicode`](crate::store::init::Options::precompose_unicode) is set in the options,    /// the `git_dir` is also expected to use precomposed unicode, or else some operations that strip prefixes will fail.    pub fn at(git_dir: PathBuf, opts: crate::store::init::Options) -> Result<Self, Error> {        // for now, just try to read the directory - later we will do that naturally as we have to figure out if it's a ref-table or not.        std::fs::read_dir(&git_dir)?;        Ok(crate::Store {            inner: crate::store::State::Loose {                store: file::Store::at(git_dir, opts),            },        })    }}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t