def GitDCommit(self):
self.Git("cl dcommit -f --bypass-hooks", retry_on=lambda x: x is None)
- def GitDiff(self, loc1, loc2, exclude=None):
- exclude = exclude or []
- files = self.Git(MakeArgs(["diff", "--name-only", loc1, loc2]))
- files = filter(lambda f: f not in exclude, files.strip().splitlines())
- return self.Git(MakeArgs(["diff", loc1, loc2] + files))
+ def GitDiff(self, loc1, loc2):
+ return self.Git(MakeArgs(["diff", loc1, loc2]))
def GitPull(self):
self.Git("pull")
def RunStep(self):
# Instead of relying on "git rebase -i", we'll just create a diff, because
- # 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)]),
+ # that's easier to automate.
+ TextToFile(self.GitDiff("svn/trunk", self["prepare_commit_hash"]),
self.Config(PATCH_FILE))
# Convert the ChangeLog entry to commit message format.
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."
SquashCommits,
NewBranch,
ApplyChanges,
- AddChangeLog,
SetVersion,
CommitTrunk,
SanityCheck,
f.write(change_log)
self.ExpectGit([
- Git("diff --name-only svn/trunk hash1", "file1\nfile2\n"),
- Git("diff svn/trunk hash1 file1 file2", "patch content"),
+ Git("diff svn/trunk hash1", "patch content"),
Git("svn find-rev hash1", "123455\n"),
])
TEST_CONFIG[CHANGELOG_FILE] = self.MakeEmptyTempFile()
if not os.path.exists(TEST_CONFIG[CHROMIUM]):
os.makedirs(TEST_CONFIG[CHROMIUM])
- 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("1999-04-05: Version 3.22.4", TEST_CONFIG[CHANGELOG_FILE])
TextToFile("Some line\n \"v8_revision\": \"123444\",\n some line",
TEST_CONFIG[DEPS_FILE])
os.environ["EDITOR"] = "vi"
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(
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\nTBR=reviewer@chromium.org" if not manual else ""
self.ExpectGit([
Git(("log -1 --format=%H --grep=\"Prepare push to trunk. "
"Now working on version 3.22.6.\""),
"hash1\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("diff svn/trunk hash1", "patch content\n"),
Git("svn find-rev hash1", "123455\n"),
- Git("checkout -b %s svn/trunk" % TEST_CONFIG[TRUNKBRANCH], "",
- cb=TrunkBranchSideEffects),
+ Git("checkout -b %s svn/trunk" % TEST_CONFIG[TRUNKBRANCH], ""),
Git("apply --index --reject \"%s\"" % TEST_CONFIG[PATCH_FILE], ""),
Git("add \"%s\"" % TEST_CONFIG[VERSION_FILE], ""),
Git("commit -aF \"%s\"" % TEST_CONFIG[COMMITMSG_FILE], "",