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 committed by Junio C Hamano
parent 3bd28eb299
commit 1fff303fc2
2 changed files with 6 additions and 20 deletions

View File

@ -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();

View File

@ -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();