Fixed showStatus() to print status for successfully resolved conflicts when...
authorddkilzer <ddkilzer@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 29 Oct 2007 16:34:19 +0000 (16:34 +0000)
committerddkilzer <ddkilzer@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 29 Oct 2007 16:34:19 +0000 (16:34 +0000)
        Reviewed by Mark Rowe.

        Previously showStatus() would run "git diff --name-status" after a ChangeLog conflict
        was successfully resolved, but this would not show any status because the change had
        already been cached in the index using "git add".  The solution is to add an optional
        second argument to showStatus() which adds the "--cached" switch to the command.

        * Scripts/resolve-ChangeLogs:
        (showStatus):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27226 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKitTools/ChangeLog
WebKitTools/Scripts/resolve-ChangeLogs

index fa05b7005ff73360e065f37eaf258cdefe278d29..81d5b798bbd8c649e365019f0d8cdde90c6a8bde 100644 (file)
@@ -1,3 +1,17 @@
+2007-10-29  David Kilzer  <ddkilzer@webkit.org>
+
+        Fixed showStatus() to print status for successfully resolved conflicts when using git.
+
+        Reviewed by Mark Rowe.
+
+        Previously showStatus() would run "git diff --name-status" after a ChangeLog conflict
+        was successfully resolved, but this would not show any status because the change had
+        already been cached in the index using "git add".  The solution is to add an optional
+        second argument to showStatus() which adds the "--cached" switch to the command.
+
+        * Scripts/resolve-ChangeLogs:
+        (showStatus):
+
 2007-10-28  Eric Seidel  <eric@webkit.org>
 
         Reviewed by Maciej and Geoff, in unison.
index 34c6f9a0cce7e2bcabf33f4a2e46edeb495406c5..983448a6ae4213a21e1f8736fdebfca6a73ed116 100755 (executable)
@@ -41,7 +41,7 @@ sub conflictFiles($);
 sub fixChangeLogPatch($);
 sub mergeChanges($$$);
 sub resolveConflict($);
-sub showStatus($);
+sub showStatus($;$);
 
 my $SVN = "svn";
 my $GIT = "git";
@@ -83,7 +83,7 @@ for my $file (@changeLogFiles) {
         rename($fileNewer, $file) || die;
         unlink($fileMine, $fileOlder);
         resolveConflict($file);
-        showStatus($file);
+        showStatus($file, 1);
     } else {
         showStatus($file);
         print STDERR "WARNING: ${file} could not be merged using fuzz level 3.\n" if $printWarnings;
@@ -254,14 +254,16 @@ sub resolveConflict($)
     }
 }
 
-sub showStatus($)
+sub showStatus($;$)
 {
-    my ($file) = @_;
+    my ($file, $isConflictResolved) = @_;
 
     if (isSVN()) {
         system($SVN, "status", $file);
     } elsif (isGit()) {
-        system($GIT, "diff", "--name-status", $file);
+        my @args = qw(--name-status);
+        unshift @args, qw(--cached) if $isConflictResolved;
+        system($GIT, "diff", @args, $file);
     } else {
         die "Unknown version control system";
     }