aboutsummaryrefslogtreecommitdiff
path: root/src/state.rs
diff options
context:
space:
mode:
authorMelody Horn <melody@boringcactus.com>2021-04-23 00:14:45 -0600
committerMelody Horn <melody@boringcactus.com>2021-04-23 00:14:45 -0600
commit60e05b91d812fea839f9acc949d98f12039af765 (patch)
tree4dbf573f5da803169e1eca239d61c68217a1263c /src/state.rs
parent518025bee1982bad954e3640b693f1a0a747adc0 (diff)
downloadgityeet-canon.tar.gz
gityeet-canon.zip
open the repo when handling the requestHEADcanon
it would be smart to not keep the Vec<Repository> around, but nobody's ever accused me of smart
Diffstat (limited to 'src/state.rs')
-rw-r--r--src/state.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/state.rs b/src/state.rs
index 004d3e2..deb7c9c 100644
--- a/src/state.rs
+++ b/src/state.rs
@@ -60,4 +60,9 @@ impl State {
pub fn relative_path<'a>(&'a self, subdir: &'a Path) -> &'a Path {
subdir.strip_prefix(&self.root).unwrap_or(subdir)
}
+
+ pub fn open(&self, path: impl AsRef<Path>) -> Result<Repository> {
+ let path = self.root.join(path);
+ Ok(Repository::open_bare(path)?)
+ }
}