2011-04-11 George Guo <George.Guo@nokia.com>
[WebKit-https.git] / Tools / Scripts / prepare-ChangeLog
index f7a82f3810c2014998a412229aff4d7ed42849e3..e6fef408a7ba0d4fba9f20526c2eea59feb5f9b6 100755 (executable)
@@ -99,6 +99,7 @@ sub decodeEntities($);
 # Project time zone for Cupertino, CA, US
 my $changeLogTimeZone = "PST8PDT";
 
+my $bugDescription;
 my $bugNumber;
 my $name;
 my $emailAddress;
@@ -114,6 +115,7 @@ my $updateChangeLogs = 1;
 my $parseOptionsResult =
     GetOptions("diff|d!" => \$spewDiff,
                "bug|b:i" => \$bugNumber,
+               "description:s" => \$bugDescription,
                "name:s" => \$name,
                "email:s" => \$emailAddress,
                "merge-base:s" => \$mergeBase,
@@ -127,6 +129,7 @@ my $parseOptionsResult =
 if (!$parseOptionsResult || $showHelp) {
     print STDERR basename($0) . " [-b|--bug=<bugid>] [-d|--diff] [-h|--help] [-o|--open] [-g|--git-commit=<committish>] [--git-reviewer=<name>] [svndir1 [svndir2 ...]]\n";
     print STDERR "  -b|--bug        Fill in the ChangeLog bug information from the given bug.\n";
+    print STDERR "  --description   One-line description that matches the bug title.\n";
     print STDERR "  -d|--diff       Spew diff to stdout when running\n";
     print STDERR "  --merge-base    Populate the ChangeLogs with the diff to this branch\n";
     print STDERR "  -g|--git-commit Populate the ChangeLogs from the specified git commit\n";
@@ -137,6 +140,7 @@ if (!$parseOptionsResult || $showHelp) {
     print STDERR "  -o|--open       Open ChangeLogs in an editor when done\n";
     print STDERR "  --[no-]update   Update ChangeLogs from svn before adding entry (default: update)\n";
     print STDERR "  --[no-]write    Write ChangeLogs to disk (otherwise send new entries to stdout) (default: write)\n";
+    print STDERR "  --email=        Specify the email address to be used in the patch\n";
     exit 1;
 }
 
@@ -254,10 +258,12 @@ $emailAddress = changeLogEmailAddressFromArgs($emailAddress);
 
 print STDERR "  Change author: $name <$emailAddress>.\n";
 
-my $bugDescription;
 my $bugURL;
 if ($bugNumber) {
     $bugURL = "https://bugs.webkit.org/show_bug.cgi?id=$bugNumber";
+}
+
+if ($bugNumber && !$bugDescription) {
     my $bugXMLURL = "$bugURL&ctype=xml";
     # Perl has no built in XML processing, so we'll fetch and parse with curl and grep
     # Pass --insecure because some cygwin installs have no certs we don't
@@ -319,7 +325,7 @@ foreach my $prefix (keys %files) {
         $sortKey = "-, just after top level";
     } elsif ($prefixDir eq "WebBrowser") {
         $sortKey = lc "WebKit, WebBrowser after";
-    } elsif ($prefixDir eq "WebCore") {
+    } elsif ($prefixDir eq "Source/WebCore") {
         $sortKey = lc "WebFoundation, WebCore after";
     } elsif ($prefixDir eq "LayoutTests") {
         $sortKey = lc "~, LayoutTests last";