From 86c4f7743a0a3835d595cb32af7eafdc41f2be34 Mon Sep 17 00:00:00 2001 From: Mica White Date: Fri, 3 Apr 2026 20:41:30 -0400 Subject: Revert "Try a single-binary approach" This reverts commit 02c306bf2cba2ecab1bcd33fb9a6b5de995163ee. --- src/bin/git-autosave.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/bin/git-autosave.rs (limited to 'src/bin/git-autosave.rs') diff --git a/src/bin/git-autosave.rs b/src/bin/git-autosave.rs new file mode 100644 index 0000000..fa0d9e6 --- /dev/null +++ b/src/bin/git-autosave.rs @@ -0,0 +1,26 @@ +use auth_git2::GitAuthenticator; +use git_autosave::{Config, authenticate::Inquirer, commit_autosave, push_autosaves}; +use git2::{RemoteCallbacks, Repository}; + +fn main() -> Result<(), anyhow::Error> { + let repository = Repository::discover(".")?; + let gitconfig = repository.config()?; + let config: &'static mut Config = Box::leak(Box::new(Config::load()?)); + + if std::env::args().any(|arg| arg == "--init") { + let id = git_autosave::init(&repository, Some(config))?; + config.save()?; + println!("Initialized autosave for repository: {id}"); + } + + let auth = GitAuthenticator::new().set_prompter(Inquirer(config)); + let mut callbacks = RemoteCallbacks::new(); + callbacks.credentials(auth.credentials(&gitconfig)); + + let commit = commit_autosave(&repository)?; + println!("Commited autosave: {commit}"); + push_autosaves(&repository, callbacks)?; + println!("Successfully pushed autosave to remote"); + + Ok(()) +} -- cgit v1.2.3