fsmonitor: simplify determining the git worktree under Windows

Simplify and speed up the process of finding the git worktree when
running on Windows by keeping it in perl and avoiding spawning helper
processes.

Signed-off-by: Ben Peart <benpeart@microsoft.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ben Peart 2017-11-10 16:03:11 -05:00 коммит произвёл Junio C Hamano
Родитель 3bd28eb299
Коммит 1fff303fc2
2 изменённых файлов: 6 добавлений и 20 удалений

Просмотреть файл

@ -29,17 +29,10 @@ if ($version == 1) {
"Falling back to scanning...\n";
}
# Convert unix style paths to escaped Windows style paths when running
# in Windows command prompt
my $system = `uname -s`;
$system =~ s/[\r\n]+//g;
my $git_work_tree;
if ($system =~ m/^MSYS_NT/ || $system =~ m/^MINGW/) {
$git_work_tree = `cygpath -aw "\$PWD"`;
$git_work_tree =~ s/[\r\n]+//g;
$git_work_tree =~ s,\\,/,g;
if ($^O =~ 'msys' || $^O =~ 'cygwin') {
$git_work_tree = Win32::GetCwd();
$git_work_tree =~ tr/\\/\//;
} else {
require Cwd;
$git_work_tree = Cwd::cwd();

Просмотреть файл

@ -28,17 +28,10 @@ if ($version == 1) {
"Falling back to scanning...\n";
}
# Convert unix style paths to escaped Windows style paths when running
# in Windows command prompt
my $system = `uname -s`;
$system =~ s/[\r\n]+//g;
my $git_work_tree;
if ($system =~ m/^MSYS_NT/ || $system =~ m/^MINGW/) {
$git_work_tree = `cygpath -aw "\$PWD"`;
$git_work_tree =~ s/[\r\n]+//g;
$git_work_tree =~ s,\\,/,g;
if ($^O =~ 'msys' || $^O =~ 'cygwin') {
$git_work_tree = Win32::GetCwd();
$git_work_tree =~ tr/\\/\//;
} else {
require Cwd;
$git_work_tree = Cwd::cwd();