summaryrefslogtreecommitdiff
path: root/Tools/Scripts/VCSUtils.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/Scripts/VCSUtils.pm')
-rw-r--r--Tools/Scripts/VCSUtils.pm17
1 files changed, 15 insertions, 2 deletions
diff --git a/Tools/Scripts/VCSUtils.pm b/Tools/Scripts/VCSUtils.pm
index e6858d955..9835c17d4 100644
--- a/Tools/Scripts/VCSUtils.pm
+++ b/Tools/Scripts/VCSUtils.pm
@@ -120,6 +120,9 @@ sub exitStatus($)
if ($^O eq "MSWin32") {
return $returnvalue >> 8;
}
+ if (!WIFEXITED($returnvalue)) {
+ return 254;
+ }
return WEXITSTATUS($returnvalue);
}
@@ -434,6 +437,16 @@ sub possiblyColored($$)
}
}
+sub adjustPathForRecentRenamings($)
+{
+ my ($fullPath) = @_;
+
+ $fullPath =~ s|WebCore/webaudio|WebCore/Modules/webaudio|g;
+ $fullPath =~ s|JavaScriptCore/wtf|WTF/wtf|g;
+
+ return $fullPath;
+}
+
sub canonicalizePath($)
{
my ($file) = @_;
@@ -624,7 +637,7 @@ sub parseGitDiffHeader($$)
# The first and second paths can differ in the case of copies
# and renames. We use the second file path because it is the
# destination path.
- $indexPath = $4;
+ $indexPath = adjustPathForRecentRenamings($4);
# Use $POSTMATCH to preserve the end-of-line character.
$_ = "Index: $indexPath$POSTMATCH"; # Convert to SVN format.
} else {
@@ -740,7 +753,7 @@ sub parseSvnDiffHeader($$)
my $indexPath;
if (/$svnDiffStartRegEx/) {
- $indexPath = $1;
+ $indexPath = adjustPathForRecentRenamings($1);
} else {
die("First line of SVN diff does not begin with \"Index \": \"$_\"");
}