summaryrefslogtreecommitdiffstats
path: root/Tools/Scripts/commit-log-editor
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-16 16:25:10 +0100
committerBen Murdoch <benm@google.com>2011-05-23 18:54:14 +0100
commitab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb (patch)
treedb769fadd053248f85db67434a5b275224defef7 /Tools/Scripts/commit-log-editor
parent52e2557aeb8477967e97fd24f20f8f407a10fa15 (diff)
downloadexternal_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.zip
external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.gz
external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.bz2
Merge WebKit at r76408: Initial merge by git.
Change-Id: I5b91decbd693ccbf5c1b8354b37cd68cc9a1ea53
Diffstat (limited to 'Tools/Scripts/commit-log-editor')
-rwxr-xr-xTools/Scripts/commit-log-editor18
1 files changed, 18 insertions, 0 deletions
diff --git a/Tools/Scripts/commit-log-editor b/Tools/Scripts/commit-log-editor
index f40295d..2dda7e2 100755
--- a/Tools/Scripts/commit-log-editor
+++ b/Tools/Scripts/commit-log-editor
@@ -38,6 +38,7 @@ use Term::ReadKey;
use VCSUtils;
use webkitdirs;
+sub fixEnvironment();
sub normalizeLineEndings($$);
sub removeLongestCommonPrefixEndingInDoubleNewline(\%);
sub isCommitLogEditor($);
@@ -59,6 +60,8 @@ if (!$log) {
usage();
}
+fixEnvironment();
+
my $baseDir = baseProductDir();
my $editor = $ENV{SVN_LOG_EDITOR};
@@ -282,6 +285,21 @@ if ($foundComment) {
unlink "$log.edit";
+sub fixEnvironment()
+{
+ return unless isMsys() && isGit();
+
+ # When this script gets run from inside git commit, msys-style paths in the
+ # environment will have been turned into Windows-style paths with forward
+ # slashes. This screws up functions like File::Spec->rel2abs, which seem to
+ # rely on $PWD having an msys-style path. We convert the paths back to
+ # msys-style here by transforming "c:/foo" to "/c/foo" (e.g.). See
+ # <http://webkit.org/b/48527>.
+ foreach my $key (keys %ENV) {
+ $ENV{$key} =~ s#^([[:alpha:]]):/#/$1/#;
+ }
+}
+
sub normalizeLineEndings($$)
{
my ($string, $endl) = @_;