Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions git2-hooks/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ keywords = ["git"]

[dependencies]
git2 = ">=0.17"
gix-path = "0.10.15"
log = "0.4"
shellexpand = "3.1"
thiserror = "2.0"
Expand Down
26 changes: 1 addition & 25 deletions git2-hooks/src/hookspath.rs
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ impl HookPaths {
}

fn sh_command() -> Command {
let mut command = Command::new(sh_path());
let mut command = Command::new(gix_path::env::shell());

if cfg!(windows) {
// This call forces Command to handle the Path environment correctly on windows,
Expand All @@ -243,30 +243,6 @@ fn sh_command() -> Command {
command
}

/// Get the path to the sh executable.
/// On Windows get the sh.exe bundled with Git for Windows
pub fn sh_path() -> PathBuf {
if cfg!(windows) {
Command::new("where.exe")
.arg("git")
.output()
.ok()
.map(|out| {
PathBuf::from(Into::<String>::into(
String::from_utf8_lossy(&out.stdout),
))
})
.as_deref()
.and_then(Path::parent)
.and_then(Path::parent)
.map(|p| p.join("usr/bin/sh.exe"))
.filter(|p| p.exists())
.unwrap_or_else(|| "sh".into())
} else {
"sh".into()
}
}

#[cfg(unix)]
fn is_executable(path: &Path) -> bool {
use std::os::unix::fs::PermissionsExt;
Expand Down
Loading