Skip to content

Commit 1b7992e

Browse files
committed
Not cache git repository when not needed
1 parent bbac153 commit 1b7992e

File tree

2 files changed

+16
-23
lines changed

2 files changed

+16
-23
lines changed

Cargo.lock

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/git.rs

+12-19
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
11
use chrono::{TimeZone, Utc};
2-
use gix::{open::Error as OpenError, Repository};
3-
4-
thread_local! {
5-
static REPOSITORY: Result<Repository, OpenError> = gix::open(".");
6-
}
72

83
byond_fn!(fn rg_git_revparse(rev) {
9-
REPOSITORY.with(|repo| -> Option<String> {
10-
let repo = repo.as_ref().ok()?;
11-
let object = repo.rev_parse_single(rev).ok()?;
12-
Some(object.to_string())
13-
})
4+
let repo = gix::open(".");
5+
let repo = repo.as_ref().ok()?;
6+
let object = repo.rev_parse_single(rev).ok()?;
7+
Some(object.to_string())
148
});
159

1610
byond_fn!(fn rg_git_commit_date(rev) {
17-
REPOSITORY.with(|repo| -> Option<String> {
18-
let repo = repo.as_ref().ok()?;
19-
let rev = repo.rev_parse_single(rev).ok()?;
20-
let object = rev.object().ok()?;
21-
let commit = object.try_into_commit().ok()?;
22-
let commit_time = commit.committer().ok()?.time;
23-
let datetime = Utc.timestamp_opt(commit_time.seconds, 0).latest()?;
24-
Some(datetime.format("%F").to_string())
25-
})
11+
let repo = gix::open(".");
12+
let repo = repo.as_ref().ok()?;
13+
let rev = repo.rev_parse_single(rev).ok()?;
14+
let object = rev.object().ok()?;
15+
let commit = object.try_into_commit().ok()?;
16+
let commit_time = commit.committer().ok()?.time;
17+
let datetime = Utc.timestamp_opt(commit_time.seconds, 0).latest()?;
18+
Some(datetime.format("%F").to_string())
2619
});

0 commit comments

Comments
 (0)