diff --git a/app/src/main/rust/src/libgit2/mod.rs b/app/src/main/rust/src/libgit2/mod.rs index da347b4..b5f4a98 100644 --- a/app/src/main/rust/src/libgit2/mod.rs +++ b/app/src/main/rust/src/libgit2/mod.rs @@ -80,6 +80,17 @@ pub fn init_lib(home_path: String) { error!("gitconfig: {e}"); } } + + unsafe { + libgit2_sys::git_libgit2_opts( + libgit2_sys::GIT_OPT_SET_SERVER_CONNECT_TIMEOUT as std::ffi::c_int, + 7000, + ); + libgit2_sys::git_libgit2_opts( + libgit2_sys::GIT_OPT_SET_SERVER_TIMEOUT as std::ffi::c_int, + 7000, + ); + }; } pub fn create_repo(repo_path: &str) -> Result<(), Error> { @@ -241,6 +252,7 @@ pub fn commit_all(name: &str, email: &str, message: &str) -> Result<(), Error> { pub fn push(cred: Option) -> Result<(), Error> { apply_ssh_workaround(false); + let repo = REPO.lock().expect("repo lock"); let repo = repo.as_ref().expect("repo"); @@ -272,6 +284,7 @@ pub fn push(cred: Option) -> Result<(), Error> { pub fn pull(cred: Option, author: &GitAuthor) -> Result<(), Error> { apply_ssh_workaround(false); + let repo = REPO.lock().expect("repo lock"); let repo = repo.as_ref().expect("repo");