summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/git-diff-autosave.rs15
-rw-r--r--src/bin/git-restore-autosave.rs15
2 files changed, 18 insertions, 12 deletions
diff --git a/src/bin/git-diff-autosave.rs b/src/bin/git-diff-autosave.rs
index 63aa130..8e7fea1 100644
--- a/src/bin/git-diff-autosave.rs
+++ b/src/bin/git-diff-autosave.rs
@@ -7,6 +7,7 @@ fn main() -> Result<(), anyhow::Error> {
let all_branches = std::env::args().any(|arg| arg == "--all-branches");
let all_devices = std::env::args().any(|arg| arg == "--all-devices");
let anytime = std::env::args().any(|arg| arg == "--anytime");
+ let offline = std::env::args().any(|arg| arg == "--offline");
let repository = Repository::discover(".")?;
let repo_id = git_autosave::repository_id(&repository)?;
@@ -14,12 +15,14 @@ fn main() -> Result<(), anyhow::Error> {
let branch = git_autosave::utils::current_branch(&repository)?;
let earliest_time = repository.head()?.peel_to_commit()?.time();
- let gitconfig = repository.config()?;
- let config: &'static _ = Box::leak(Box::new(Config::load()?));
- let auth = GitAuthenticator::new().set_prompter(Inquirer(config));
- let mut callbacks = RemoteCallbacks::new();
- callbacks.credentials(auth.credentials(&gitconfig));
- git_autosave::fetch_autosaves(&repository, callbacks)?;
+ if !offline {
+ let gitconfig = repository.config()?;
+ let config: &'static _ = Box::leak(Box::new(Config::load()?));
+ let auth = GitAuthenticator::new().set_prompter(Inquirer(config));
+ let mut callbacks = RemoteCallbacks::new();
+ callbacks.credentials(auth.credentials(&gitconfig));
+ git_autosave::fetch_autosaves(&repository, callbacks)?;
+ }
let autosaves = git_autosave::autosaves(&repository)?;
let autosaves = git_autosave::inquire::filter_autosaves(
diff --git a/src/bin/git-restore-autosave.rs b/src/bin/git-restore-autosave.rs
index 482e2b5..819fd3c 100644
--- a/src/bin/git-restore-autosave.rs
+++ b/src/bin/git-restore-autosave.rs
@@ -19,6 +19,7 @@ fn main() -> Result<(), anyhow::Error> {
let all_branches = std::env::args().any(|arg| arg == "--all-branches");
let all_devices = std::env::args().any(|arg| arg == "--all-devices");
let anytime = std::env::args().any(|arg| arg == "--anytime");
+ let offline = std::env::args().any(|arg| arg == "--offline");
let force = std::env::args().any(|arg| arg == "--force");
let repository = Repository::discover(".")?;
@@ -27,12 +28,14 @@ fn main() -> Result<(), anyhow::Error> {
let branch = git_autosave::utils::current_branch(&repository)?;
let earliest_time = repository.head()?.peel_to_commit()?.time();
- let gitconfig = repository.config()?;
- let config: &'static _ = Box::leak(Box::new(Config::load()?));
- let auth = GitAuthenticator::new().set_prompter(Inquirer(config));
- let mut callbacks = RemoteCallbacks::new();
- callbacks.credentials(auth.credentials(&gitconfig));
- git_autosave::fetch_autosaves(&repository, callbacks)?;
+ if !offline {
+ let gitconfig = repository.config()?;
+ let config: &'static _ = Box::leak(Box::new(Config::load()?));
+ let auth = GitAuthenticator::new().set_prompter(Inquirer(config));
+ let mut callbacks = RemoteCallbacks::new();
+ callbacks.credentials(auth.credentials(&gitconfig));
+ git_autosave::fetch_autosaves(&repository, callbacks)?;
+ }
let autosaves = git_autosave::autosaves(&repository)?;
let autosaves = git_autosave::inquire::filter_autosaves(