Skip to content

Commit adbaa2a

Browse files
authored
Merge pull request #1568 from EliahKagan/config-origin-next
Slightly adjust internal `gix_path::env::git`-related organization
2 parents dd65e7b + dd2d666 commit adbaa2a

File tree

2 files changed

+40
-39
lines changed

2 files changed

+40
-39
lines changed

gix-path/src/env/git/mod.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -73,19 +73,19 @@ where
7373
}
7474

7575
#[cfg(windows)]
76-
pub(super) static EXE_NAME: &str = "git.exe";
76+
pub(super) const EXE_NAME: &str = "git.exe";
7777
#[cfg(not(windows))]
78-
pub(super) static EXE_NAME: &str = "git";
78+
pub(super) const EXE_NAME: &str = "git";
7979

8080
/// Invoke the git executable to obtain the origin configuration, which is cached and returned.
8181
///
8282
/// The git executable is the one found in PATH or an alternative location.
83-
pub(super) static EXE_INFO: Lazy<Option<BString>> = Lazy::new(exe_info);
83+
pub(super) static GIT_HIGHEST_PRIORITY_CONFIG_PATH: Lazy<Option<BString>> = Lazy::new(exe_info);
8484

8585
#[cfg(windows)]
86-
static NULL_DEVICE: &str = "NUL";
86+
const NULL_DEVICE: &str = "NUL";
8787
#[cfg(not(windows))]
88-
static NULL_DEVICE: &str = "/dev/null";
88+
const NULL_DEVICE: &str = "/dev/null";
8989

9090
fn exe_info() -> Option<BString> {
9191
let mut cmd = git_cmd(EXE_NAME.into());
@@ -171,7 +171,7 @@ pub(super) fn install_config_path() -> Option<&'static BStr> {
171171
exec_path.push("gitconfig");
172172
return crate::os_string_into_bstring(exec_path.into()).ok();
173173
}
174-
EXE_INFO.clone()
174+
GIT_HIGHEST_PRIORITY_CONFIG_PATH.clone()
175175
});
176176
PATH.as_ref().map(AsRef::as_ref)
177177
}

gix-path/src/env/git/tests.rs

+34-33
Original file line numberDiff line numberDiff line change
@@ -551,41 +551,42 @@ mod exe_info {
551551

552552
let maybe_path = exe_info();
553553
assert_eq!(
554-
maybe_path, None,
555-
"Should find no config path if the config would be local even in a `/tmp`-like dir (suppressed system config)"
556-
);
554+
maybe_path, None,
555+
"Should find no config path if the config would be local even in a `/tmp`-like dir (suppressed system config)"
556+
);
557557
}
558-
}
559558

560-
#[test]
561-
fn first_file_from_config_with_origin() {
562-
let macos =
563-
"file:/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig\0credential.helper\0file:/Users/byron/.gitconfig\0push.default\0";
564-
let win_msys = "file:C:/git-sdk-64/etc/gitconfig\0core.symlinks\0file:C:/git-sdk-64/etc/gitconfig\0core.autocrlf\0";
565-
let win_cmd =
566-
"file:C:/Program Files/Git/etc/gitconfig\0diff.astextplain.textconv\0file:C:/Program Files/Git/etc/gitconfig\0filter.lfs.clean\0";
567-
let win_msys_old =
568-
"file:C:\\ProgramData/Git/config\0diff.astextplain.textconv\0file:C:\\ProgramData/Git/config\0filter.lfs.clean\0";
569-
let linux = "file:/home/parallels/.gitconfig\0core.excludesfile\0";
570-
let bogus = "something unexpected";
571-
let empty = "";
572-
573-
for (source, expected) in [
574-
(
575-
macos,
576-
Some("/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig"),
577-
),
578-
(win_msys, Some("C:/git-sdk-64/etc/gitconfig")),
579-
(win_msys_old, Some("C:\\ProgramData/Git/config")),
580-
(win_cmd, Some("C:/Program Files/Git/etc/gitconfig")),
581-
(linux, Some("/home/parallels/.gitconfig")),
582-
(bogus, None),
583-
(empty, None),
584-
] {
585-
assert_eq!(
586-
super::first_file_from_config_with_origin(source.into()),
587-
expected.map(Into::into)
588-
);
559+
#[test]
560+
fn first_file_from_config_with_origin() {
561+
let macos =
562+
"file:/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig\0credential.helper\0file:/Users/byron/.gitconfig\0push.default\0";
563+
let win_msys =
564+
"file:C:/git-sdk-64/etc/gitconfig\0core.symlinks\0file:C:/git-sdk-64/etc/gitconfig\0core.autocrlf\0";
565+
let win_cmd =
566+
"file:C:/Program Files/Git/etc/gitconfig\0diff.astextplain.textconv\0file:C:/Program Files/Git/etc/gitconfig\0filter.lfs.clean\0";
567+
let win_msys_old =
568+
"file:C:\\ProgramData/Git/config\0diff.astextplain.textconv\0file:C:\\ProgramData/Git/config\0filter.lfs.clean\0";
569+
let linux = "file:/home/parallels/.gitconfig\0core.excludesfile\0";
570+
let bogus = "something unexpected";
571+
let empty = "";
572+
573+
for (source, expected) in [
574+
(
575+
macos,
576+
Some("/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig"),
577+
),
578+
(win_msys, Some("C:/git-sdk-64/etc/gitconfig")),
579+
(win_msys_old, Some("C:\\ProgramData/Git/config")),
580+
(win_cmd, Some("C:/Program Files/Git/etc/gitconfig")),
581+
(linux, Some("/home/parallels/.gitconfig")),
582+
(bogus, None),
583+
(empty, None),
584+
] {
585+
assert_eq!(
586+
crate::env::git::first_file_from_config_with_origin(source.into()),
587+
expected.map(Into::into)
588+
);
589+
}
589590
}
590591
}
591592

0 commit comments

Comments
 (0)