Revision: 19953
Author: [email protected]
Date: Sat Mar 15 13:06:08 2014 UTC
Log: Reland "Maintain change log file directly on trunk branch in
push-to-trunk."
This uses the following approach to modify the trunk change log:
- Calculate the new change log entries
- Apply changes to the bleeding edge change log (this will be removed in a
follow up CL)
- Apply the diff between BE and trunk to trunk (this includes the diff of
the change log)
- Reset the change log to the version on trunk
- Reapply the new change log entries
[email protected]
Review URL: https://codereview.chromium.org/196473012
http://code.google.com/p/v8/source/detail?r=19953
Modified:
/branches/bleeding_edge/tools/push-to-trunk/git_recipes.py
/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/git_recipes.py Thu Mar 13
15:48:24 2014 UTC
+++ /branches/bleeding_edge/tools/push-to-trunk/git_recipes.py Sat Mar 15
13:06:08 2014 UTC
@@ -63,6 +63,10 @@
assert name
self.Git(MakeArgs(["checkout -f", name]))
+ def GitCheckoutFile(self, name):
+ assert name
+ self.Git(MakeArgs(["checkout --", name]))
+
@Strip
def GitCurrentBranch(self):
for line in self.Git("status -s -b -uno").strip().splitlines():
=======================================
--- /branches/bleeding_edge/tools/push-to-trunk/push_to_trunk.py Thu Mar 13
15:48:24 2014 UTC
+++ /branches/bleeding_edge/tools/push-to-trunk/push_to_trunk.py Sat Mar 15
13:06:08 2014 UTC
@@ -311,6 +311,21 @@
Command("rm", "-f %s*" % self.Config(PATCH_FILE))
+class AddChangeLog(Step):
+ MESSAGE = "Add ChangeLog changes to trunk branch."
+
+ def RunStep(self):
+ # The change log has been modified by the patch. Reset it to the
version
+ # on trunk and apply the exact changes determined by this
PrepareChangeLog
+ # step above.
+ self.GitCheckoutFile(self.Config(CHANGELOG_FILE))
+ 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 +544,7 @@
SquashCommits,
NewBranch,
ApplyChanges,
+ AddChangeLog,
SetVersion,
CommitTrunk,
SanityCheck,
=======================================
--- /branches/bleeding_edge/tools/push-to-trunk/test_scripts.py Thu Mar 13
15:48:24 2014 UTC
+++ /branches/bleeding_edge/tools/push-to-trunk/test_scripts.py Sat Mar 15
13:06:08 2014 UTC
@@ -642,7 +642,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])
+ bleeding_edge_change_log = """1999-02-03: Version 3.12.2
+
+ Performance and stability improvements on all platforms.\n"""
+ TextToFile(bleeding_edge_change_log, TEST_CONFIG[CHANGELOG_FILE])
TextToFile("Some line\n \"v8_revision\": \"123444\",\n some line",
TEST_CONFIG[DEPS_FILE])
os.environ["EDITOR"] = "vi"
@@ -659,6 +662,14 @@
version = FileToText(TEST_CONFIG[VERSION_FILE])
self.assertTrue(re.search(r"#define BUILD_NUMBER\s+6", version))
+ def ResetChangeLog():
+ """On 'git co -b new_branch svn/trunk', and 'git checkout --
ChangeLog',
+ the ChangLog will be reset to its content on trunk."""
+ trunk_change_log = """1999-04-05: Version 3.22.4
+
+ Performance and stability improvements on all platforms.\n"""
+ TextToFile(trunk_change_log, TEST_CONFIG[CHANGELOG_FILE])
+
def CheckSVNCommit():
commit = FileToText(TEST_CONFIG[COMMITMSG_FILE])
self.assertEquals(
@@ -674,6 +685,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([
@@ -712,8 +738,11 @@
"hash1\n"),
Git("diff svn/trunk hash1", "patch content\n"),
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=ResetChangeLog),
Git("apply --index --reject \"%s\"" % TEST_CONFIG[PATCH_FILE], ""),
+ Git("checkout -- %s" % TEST_CONFIG[CHANGELOG_FILE], "",
+ cb=ResetChangeLog),
Git("add \"%s\"" % TEST_CONFIG[VERSION_FILE], ""),
Git("commit -aF \"%s\"" % TEST_CONFIG[COMMITMSG_FILE], "",
cb=CheckSVNCommit),
--
--
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.