Revision: 19902
Author:   [email protected]
Date:     Thu Mar 13 15:12:18 2014 UTC
Log: Maintain change log file directly on trunk branch in push-to-trunk.

This is another step for deprecating the change log file on bleeding edge.

BUG=
[email protected]

Review URL: https://codereview.chromium.org/196283014
http://code.google.com/p/v8/source/detail?r=19902

Modified:
 /branches/bleeding_edge/tools/push-to-trunk/push_to_trunk.py
 /branches/bleeding_edge/tools/push-to-trunk/test_scripts.py

=======================================
--- /branches/bleeding_edge/tools/push-to-trunk/push_to_trunk.py Wed Mar 12 10:45:23 2014 UTC +++ /branches/bleeding_edge/tools/push-to-trunk/push_to_trunk.py Thu Mar 13 15:12:18 2014 UTC
@@ -267,8 +267,12 @@

   def RunStep(self):
# Instead of relying on "git rebase -i", we'll just create a diff, because
-    # that's easier to automate.
-    TextToFile(self.GitDiff("svn/trunk", self["prepare_commit_hash"]),
+    # that's easier to automate. Exclude the ChangeLog file. It is not
+    # maintained on bleeding edge. Changes will be added in a separate step
+    # below.
+    TextToFile(self.GitDiff("svn/trunk",
+                            self["prepare_commit_hash"],
+                            exclude=[self.Config(CHANGELOG_FILE)]),
                self.Config(PATCH_FILE))

     # Convert the ChangeLog entry to commit message format.
@@ -311,6 +315,16 @@
     Command("rm", "-f %s*" % self.Config(PATCH_FILE))


+class AddChangeLog(Step):
+  MESSAGE = "Add ChangeLog changes to trunk branch."
+
+  def RunStep(self):
+    changelog_entry = FileToText(self.Config(NEW_CHANGELOG_FILE))
+    old_change_log = FileToText(self.Config(CHANGELOG_FILE))
+    new_change_log = "%s\n\n\n%s" % (changelog_entry, old_change_log)
+    TextToFile(new_change_log, self.Config(CHANGELOG_FILE))
+    os.remove(self.Config(NEW_CHANGELOG_FILE))
+
 class SetVersion(Step):
   MESSAGE = "Set correct version for trunk."

@@ -529,6 +543,7 @@
       SquashCommits,
       NewBranch,
       ApplyChanges,
+      AddChangeLog,
       SetVersion,
       CommitTrunk,
       SanityCheck,
=======================================
--- /branches/bleeding_edge/tools/push-to-trunk/test_scripts.py Thu Mar 13 07:57:07 2014 UTC +++ /branches/bleeding_edge/tools/push-to-trunk/test_scripts.py Thu Mar 13 15:12:18 2014 UTC
@@ -643,7 +643,10 @@
     TEST_CONFIG[CHANGELOG_FILE] = self.MakeEmptyTempFile()
     if not os.path.exists(TEST_CONFIG[CHROMIUM]):
       os.makedirs(TEST_CONFIG[CHROMIUM])
-    TextToFile("1999-04-05: Version 3.22.4", TEST_CONFIG[CHANGELOG_FILE])
+    old_change_log = """1999-04-05: Version 3.22.4
+
+        Performance and stability improvements on all platforms.\n"""
+    TextToFile(old_change_log, TEST_CONFIG[CHANGELOG_FILE])
     TextToFile("Some line\n   \"v8_revision\": \"123444\",\n  some line",
                  TEST_CONFIG[DEPS_FILE])
     os.environ["EDITOR"] = "vi"
@@ -660,6 +663,11 @@
       version = FileToText(TEST_CONFIG[VERSION_FILE])
       self.assertTrue(re.search(r"#define BUILD_NUMBER\s+6", version))

+    def TrunkBranchSideEffects():
+ """On 'git co -b new_branch svn/trunk', the ChangLog will be reset to its
+      original content."""
+      TextToFile(old_change_log, TEST_CONFIG[CHANGELOG_FILE])
+
     def CheckSVNCommit():
       commit = FileToText(TEST_CONFIG[COMMITMSG_FILE])
       self.assertEquals(
@@ -675,6 +683,21 @@
       self.assertTrue(re.search(r"#define PATCH_LEVEL\s+0", version))
self.assertTrue(re.search(r"#define IS_CANDIDATE_VERSION\s+0", version))

+ # Check that the change log on the trunk branch got correctly modified.
+      change_log = FileToText(TEST_CONFIG[CHANGELOG_FILE])
+      self.assertEquals(
+"""1999-07-31: Version 3.22.5
+
+        Log text 1 (issue 321).
+
+        Performance and stability improvements on all platforms.
+
+
+1999-04-05: Version 3.22.4
+
+        Performance and stability improvements on all platforms.\n""",
+          change_log)
+
     force_flag = " -f" if not manual else ""
     review_suffix = "\n\[email protected]" if not manual else ""
     self.ExpectGit([
@@ -711,10 +734,14 @@
       Git(("log -1 --format=%H --grep=\"Prepare push to trunk.  "
            "Now working on version 3.22.6.\""),
           "hash1\n"),
-      Git("diff --name-only svn/trunk hash1", "file1\nfile2\n"),
+ # The ChangeLog file will be one of the files with differences between
+      # trunk and bleeding edge.
+      Git("diff --name-only svn/trunk hash1",
+          "file1\n%s\nfile2\n" % TEST_CONFIG[CHANGELOG_FILE]),
       Git("diff svn/trunk hash1 file1 file2", "patch content"),
       Git("svn find-rev hash1", "123455\n"),
-      Git("checkout -b %s svn/trunk" % TEST_CONFIG[TRUNKBRANCH], ""),
+      Git("checkout -b %s svn/trunk" % TEST_CONFIG[TRUNKBRANCH], "",
+          cb=TrunkBranchSideEffects),
       Git("apply --index --reject \"%s\"" % TEST_CONFIG[PATCH_FILE], ""),
       Git("add \"%s\"" % TEST_CONFIG[VERSION_FILE], ""),
       Git("commit -aF \"%s\"" % TEST_CONFIG[COMMITMSG_FILE], "",

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to