diff options
author | Michaƫl Zasso <targos@protonmail.com> | 2017-09-12 11:34:59 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2017-09-13 16:15:18 +0200 |
commit | d82e1075dbc2cec2d6598ade10c1f43805f690fd (patch) | |
tree | ccd242b9b491dfc341d1099fe11b0ef528839877 /deps/v8/tools/release | |
parent | b4b7ac6ae811b2b5a3082468115dfb5a5246fe3f (diff) | |
download | android-node-v8-d82e1075dbc2cec2d6598ade10c1f43805f690fd.tar.gz android-node-v8-d82e1075dbc2cec2d6598ade10c1f43805f690fd.tar.bz2 android-node-v8-d82e1075dbc2cec2d6598ade10c1f43805f690fd.zip |
deps: update V8 to 6.1.534.36
PR-URL: https://github.com/nodejs/node/pull/14730
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'deps/v8/tools/release')
-rwxr-xr-x | deps/v8/tools/release/backport_node.py | 119 | ||||
-rw-r--r-- | deps/v8/tools/release/common_includes.py | 11 | ||||
-rwxr-xr-x | deps/v8/tools/release/create_release.py | 34 | ||||
-rwxr-xr-x | deps/v8/tools/release/filter_build_files.py | 101 | ||||
-rw-r--r-- | deps/v8/tools/release/git_recipes.py | 7 | ||||
-rwxr-xr-x | deps/v8/tools/release/merge_to_branch.py | 8 | ||||
-rwxr-xr-x | deps/v8/tools/release/push_to_candidates.py | 20 | ||||
-rwxr-xr-x | deps/v8/tools/release/test_backport_node.py | 71 | ||||
-rwxr-xr-x | deps/v8/tools/release/test_scripts.py | 24 |
9 files changed, 332 insertions, 63 deletions
diff --git a/deps/v8/tools/release/backport_node.py b/deps/v8/tools/release/backport_node.py new file mode 100755 index 0000000000..862da82b1e --- /dev/null +++ b/deps/v8/tools/release/backport_node.py @@ -0,0 +1,119 @@ +#!/usr/bin/env python +# Copyright 2017 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +""" +Use this script to cherry-pick a V8 commit to backport to a Node.js checkout. + +Requirements: + - Node.js checkout to backport to. + - V8 checkout that contains the commit to cherry-pick. + +Usage: + $ backport_node.py <path_to_v8> <path_to_node> <commit-hash> + + This will apply the commit to <path_to_node>/deps/v8 and create a commit in + the Node.js checkout, increment patch level, and copy over the original + commit message. + +Optional flags: + --no-review Run `gclient sync` on the V8 checkout before updating. +""" + +import argparse +import os +import subprocess +import re +import sys + +from common_includes import * + +TARGET_SUBDIR = os.path.join("deps", "v8") +VERSION_FILE = os.path.join("include", "v8-version.h") +VERSION_PATTERN = r'(?<=#define V8_PATCH_LEVEL )\d+' + +def Clean(options): + print ">> Cleaning target directory." + subprocess.check_call(["git", "clean", "-fd"], + cwd = os.path.join(options.node_path, TARGET_SUBDIR)) + +def CherryPick(options): + print ">> Apply patch." + patch = subprocess.Popen(["git", "diff-tree", "-p", options.commit], + stdout=subprocess.PIPE, cwd=options.v8_path) + patch.wait() + try: + subprocess.check_output(["git", "apply", "-3", "--directory=%s" % TARGET_SUBDIR], + stdin=patch.stdout, cwd=options.node_path) + except: + print ">> In another shell, please resolve patch conflicts" + print ">> and `git add` affected files." + print ">> Finally continue by entering RESOLVED." + while raw_input("[RESOLVED]") != "RESOLVED": + print ">> You need to type RESOLVED" + +def UpdateVersion(options): + print ">> Increment patch level." + version_file = os.path.join(options.node_path, TARGET_SUBDIR, VERSION_FILE) + text = FileToText(version_file) + def increment(match): + patch = int(match.group(0)) + return str(patch + 1) + text = re.sub(VERSION_PATTERN, increment, text, flags=re.MULTILINE) + TextToFile(text, version_file) + +def CreateCommit(options): + print ">> Creating commit." + # Find short hash from source. + shorthash = subprocess.check_output( + ["git", "rev-parse", "--short", options.commit], + cwd=options.v8_path).strip() + + # Commit message + title = "deps: backport %s from upstream V8" % shorthash + body = subprocess.check_output( + ["git", "log", options.commit, "-1", "--format=%B"], + cwd=options.v8_path).strip() + body = '\n'.join(" " + line for line in body.splitlines()) + + message = title + "\n\nOriginal commit message:\n\n" + body + + # Create commit at target. + review_message = "" if options.no_review else "-e" + git_commands = [ + ["git", "checkout", "-b", "backport_%s" % shorthash], # new branch + ["git", "add", TARGET_SUBDIR], # add files + ["git", "commit", "-m", message, review_message] # new commit + ] + for command in git_commands: + subprocess.check_call(command, cwd=options.node_path) + +def ParseOptions(args): + parser = argparse.ArgumentParser(description="Backport V8 commit to Node.js") + parser.add_argument("v8_path", help="Path to V8 checkout") + parser.add_argument("node_path", help="Path to Node.js checkout") + parser.add_argument("commit", help="Commit to backport") + parser.add_argument("--no-review", action="store_true", + help="Skip editing commit message") + options = parser.parse_args(args) + options.v8_path = os.path.abspath(options.v8_path) + assert os.path.isdir(options.v8_path) + options.node_path = os.path.abspath(options.node_path) + assert os.path.isdir(options.node_path) + return options + +def Main(args): + options = ParseOptions(args) + Clean(options) + try: + CherryPick(options) + UpdateVersion(options) + CreateCommit(options) + except: + print ">> Failed. Resetting." + subprocess.check_output(["git", "reset", "--hard"], cwd=options.node_path) + raise + +if __name__ == "__main__": + Main(sys.argv[1:]) diff --git a/deps/v8/tools/release/common_includes.py b/deps/v8/tools/release/common_includes.py index 8ef77c25ab..d295e37d64 100644 --- a/deps/v8/tools/release/common_includes.py +++ b/deps/v8/tools/release/common_includes.py @@ -395,7 +395,7 @@ class GitInterface(VCInterface): "git updater is lagging behind?") self.step.Git("tag %s %s" % (tag, commit)) - self.step.Git("push origin %s" % tag) + self.step.Git("push origin refs/tags/%s:refs/tags/%s" % (tag, tag)) def CLLand(self): self.step.GitCLLand() @@ -549,7 +549,8 @@ class Step(GitRecipesMixin): def InitialEnvironmentChecks(self, cwd): # Cancel if this is not a git checkout. if not os.path.exists(os.path.join(cwd, ".git")): # pragma: no cover - self.Die("This is not a git checkout, this script won't work for you.") + self.Die("%s is not a git checkout. If you know what you're doing, try " + "deleting it and rerunning this script." % cwd) # Cancel if EDITOR is unset or not executable. if (self._options.requires_editor and (not os.environ.get("EDITOR") or @@ -767,7 +768,7 @@ class UploadStep(Step): reviewer = self.ReadLine() self.GitUpload(reviewer, self._options.author, self._options.force_upload, bypass_hooks=self._options.bypass_upload_hooks, - cc=self._options.cc, use_gerrit=not self._options.rietveld) + cc=self._options.cc) def MakeStep(step_class=Step, number=0, state=None, config=None, @@ -813,15 +814,13 @@ class ScriptsBase(object): def MakeOptions(self, args=None): parser = argparse.ArgumentParser(description=self._Description()) parser.add_argument("-a", "--author", default="", - help="The author email used for rietveld.") + help="The author email used for code review.") parser.add_argument("--dry-run", default=False, action="store_true", help="Perform only read-only actions.") parser.add_argument("--json-output", help="File to write results summary to.") parser.add_argument("-r", "--reviewer", default="", help="The account name to be used for reviews.") - parser.add_argument("--rietveld", default=False, action="store_true", - help="Whether to use rietveld instead of gerrit.") parser.add_argument("-s", "--step", help="Specify the step where to start work. Default: 0.", default=0, type=int) diff --git a/deps/v8/tools/release/create_release.py b/deps/v8/tools/release/create_release.py index 8c0ad489a1..e5c2114b1a 100755 --- a/deps/v8/tools/release/create_release.py +++ b/deps/v8/tools/release/create_release.py @@ -77,24 +77,6 @@ class DetectLastRelease(Step): class PrepareChangeLog(Step): MESSAGE = "Prepare raw ChangeLog entry." - def Reload(self, body): - """Attempts to reload the commit message from rietveld in order to allow - late changes to the LOG flag. Note: This is brittle to future changes of - the web page name or structure. - """ - match = re.search(r"^Review URL: https://codereview\.chromium\.org/(\d+)$", - body, flags=re.M) - if match: - cl_url = ("https://codereview.chromium.org/%s/description" - % match.group(1)) - try: - # Fetch from Rietveld but only retry once with one second delay since - # there might be many revisions. - body = self.ReadURL(cl_url, wait_plan=[1]) - except urllib2.URLError: # pragma: no cover - pass - return body - def RunStep(self): self["date"] = self.GetDate() output = "%s: Version %s\n\n" % (self["date"], self["version"]) @@ -107,7 +89,7 @@ class PrepareChangeLog(Step): commit_messages = [ [ self.GitLog(n=1, format="%s", git_hash=commit), - self.Reload(self.GitLog(n=1, format="%B", git_hash=commit)), + self.GitLog(n=1, format="%B", git_hash=commit), self.GitLog(n=1, format="%an", git_hash=commit), ] for commit in commits.splitlines() ] @@ -221,6 +203,7 @@ class CommitBranch(Step): if not text: # pragma: no cover self.Die("Commit message editing failed.") + text += "\n\nTBR=%s" % self._options.reviewer self["commit_title"] = text.splitlines()[0] TextToFile(text, self.Config("COMMITMSG_FILE")) @@ -229,10 +212,17 @@ class CommitBranch(Step): os.remove(self.Config("CHANGELOG_ENTRY_FILE")) -class PushBranch(Step): - MESSAGE = "Push changes." +class LandBranch(Step): + MESSAGE = "Upload and land changes." def RunStep(self): + if self._options.dry_run: + print "Dry run - upload CL." + else: + self.GitUpload(author=self._options.author, + force=True, + bypass_hooks=True, + private=True) cmd = "cl land --bypass-hooks -f" if self._options.dry_run: print "Dry run. Command:\ngit %s" % cmd @@ -305,7 +295,7 @@ class CreateRelease(ScriptsBase): SetVersion, EnableMergeWatchlist, CommitBranch, - PushBranch, + LandBranch, TagRevision, CleanUp, ] diff --git a/deps/v8/tools/release/filter_build_files.py b/deps/v8/tools/release/filter_build_files.py new file mode 100755 index 0000000000..7d3f22138a --- /dev/null +++ b/deps/v8/tools/release/filter_build_files.py @@ -0,0 +1,101 @@ +#!/usr/bin/env python +# Copyright 2017 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +""" +Enumerates relevant build files for each platform. + +This can be used to filter the build directory before making an official +archive. The archive should only contain files required for running or +static linking, e.g. executables, startup files, libraries. + +The script is limited to release builds and assumes GN. +""" + +import argparse +import glob +import itertools +import json +import os +import re +import sys + +EXECUTABLE_FILES = [ + 'd8', +] + +SUPPLEMENTARY_FILES = [ + 'icudtl.dat', + 'natives_blob.bin', + 'snapshot_blob.bin', + 'v8_build_config.json', +] + +LIBRARY_FILES = { + 'android': ['*.a', '*.so'], + 'linux': ['*.a', '*.so'], + 'mac': ['*.a', '*.so'], + 'win': ['*.lib', '*.dll'], +} + + +def main(argv): + parser = argparse.ArgumentParser(description=__doc__) + + parser.add_argument('-d', '--dir', required=True, + help='Path to the build directory.') + parser.add_argument('-p', '--platform', required=True, + help='Target platform name: win|mac|linux.') + parser.add_argument('-o', '--json-output', required=True, + help='Path to an output file. The files will ' + 'be stored in json list with absolute paths.') + parser.add_argument('-t', '--type', + choices=['all', 'exe', 'lib'], default='all', + help='Specifies the archive type.') + args = parser.parse_args() + + if not os.path.isdir(args.dir): + parser.error('%s is not an existing directory.' % args.dir) + + args.dir = os.path.abspath(args.dir) + + # Skip libraries for exe archive type. + if args.type == 'exe': + library_files = [] + else: + library_files = LIBRARY_FILES[args.platform] + + # Skip executables for lib archive type. + if args.type == 'lib': + executable_files = [] + else: + executable_files = EXECUTABLE_FILES + + list_of_files = [] + def add_files_from_globs(globs): + list_of_files.extend(itertools.chain(*map(glob.iglob, globs))) + + # Add toplevel executables, supplementary files and libraries. + extended_executable_files = [ + f + '.exe' if args.platform == 'win' else f + for f in executable_files] + add_files_from_globs( + os.path.join(args.dir, f) + for f in extended_executable_files + + SUPPLEMENTARY_FILES + + library_files + ) + + # Add libraries recursively from obj directory. + for root, _, __ in os.walk(os.path.join(args.dir, 'obj'), followlinks=True): + add_files_from_globs(os.path.join(root, g) for g in library_files) + + with open(args.json_output, 'w') as f: + json.dump(list_of_files, f) + + return 0 + + +if __name__ == '__main__': + sys.exit(main(sys.argv)) diff --git a/deps/v8/tools/release/git_recipes.py b/deps/v8/tools/release/git_recipes.py index ce65b973ac..d831aa3a20 100644 --- a/deps/v8/tools/release/git_recipes.py +++ b/deps/v8/tools/release/git_recipes.py @@ -206,7 +206,7 @@ class GitRecipesMixin(object): self.Git(MakeArgs(args), **kwargs) def GitUpload(self, reviewer="", author="", force=False, cq=False, - bypass_hooks=False, cc="", use_gerrit=False, **kwargs): + bypass_hooks=False, cc="", private=False, **kwargs): args = ["cl upload --send-mail"] if author: args += ["--email", Quoted(author)] @@ -220,8 +220,9 @@ class GitRecipesMixin(object): args.append("--bypass-hooks") if cc: args += ["--cc", Quoted(cc)] - if use_gerrit: - args += ["--gerrit"] + args += ["--gerrit"] + if private: + args += ["--private"] # TODO(machenbach): Check output in forced mode. Verify that all required # base files were uploaded, if not retry. self.Git(MakeArgs(args), pipe=False, **kwargs) diff --git a/deps/v8/tools/release/merge_to_branch.py b/deps/v8/tools/release/merge_to_branch.py index 802409436e..877d121b49 100755 --- a/deps/v8/tools/release/merge_to_branch.py +++ b/deps/v8/tools/release/merge_to_branch.py @@ -31,6 +31,7 @@ from collections import OrderedDict import sys from common_includes import * +from git_recipes import GetCommitMessageFooterMap def IsSvnNumber(rev): return rev.isdigit() and len(rev) < 8 @@ -134,8 +135,13 @@ class CreateCommitMessage(Step): msg = self.GitLog(n=1, git_hash=commit_hash) for bug in re.findall(r"^[ \t]*BUG[ \t]*=[ \t]*(.*?)[ \t]*$", msg, re.M): bugs.extend(s.strip() for s in bug.split(",")) - bug_aggregate = ",".join(sorted(filter(lambda s: s and s != "none", bugs))) + gerrit_bug = GetCommitMessageFooterMap(msg).get('Bug', '') + bugs.extend(s.strip() for s in gerrit_bug.split(",")) + bug_aggregate = ",".join( + sorted(filter(lambda s: s and s != "none", set(bugs)))) if bug_aggregate: + # TODO(machenbach): Use proper gerrit footer for bug after switch to + # gerrit. Keep BUG= for now for backwards-compatibility. msg_pieces.append("BUG=%s\nLOG=N\n" % bug_aggregate) msg_pieces.append("NOTRY=true\nNOPRESUBMIT=true\nNOTREECHECKS=true\n") diff --git a/deps/v8/tools/release/push_to_candidates.py b/deps/v8/tools/release/push_to_candidates.py index 750794eabd..538b9887d6 100755 --- a/deps/v8/tools/release/push_to_candidates.py +++ b/deps/v8/tools/release/push_to_candidates.py @@ -119,24 +119,6 @@ class DetectLastRelease(Step): class PrepareChangeLog(Step): MESSAGE = "Prepare raw ChangeLog entry." - def Reload(self, body): - """Attempts to reload the commit message from rietveld in order to allow - late changes to the LOG flag. Note: This is brittle to future changes of - the web page name or structure. - """ - match = re.search(r"^Review URL: https://codereview\.chromium\.org/(\d+)$", - body, flags=re.M) - if match: - cl_url = ("https://codereview.chromium.org/%s/description" - % match.group(1)) - try: - # Fetch from Rietveld but only retry once with one second delay since - # there might be many revisions. - body = self.ReadURL(cl_url, wait_plan=[1]) - except urllib2.URLError: # pragma: no cover - pass - return body - def RunStep(self): self["date"] = self.GetDate() output = "%s: Version %s\n\n" % (self["date"], self["version"]) @@ -149,7 +131,7 @@ class PrepareChangeLog(Step): commit_messages = [ [ self.GitLog(n=1, format="%s", git_hash=commit), - self.Reload(self.GitLog(n=1, format="%B", git_hash=commit)), + self.GitLog(n=1, format="%B", git_hash=commit), self.GitLog(n=1, format="%an", git_hash=commit), ] for commit in commits.splitlines() ] diff --git a/deps/v8/tools/release/test_backport_node.py b/deps/v8/tools/release/test_backport_node.py new file mode 100755 index 0000000000..a2be9cf33d --- /dev/null +++ b/deps/v8/tools/release/test_backport_node.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python +# Copyright 2017 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import os +import shutil +import subprocess +import sys +import tempfile +import unittest + +from common_includes import FileToText +import backport_node + +# Base paths. +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +TEST_DATA = os.path.join(BASE_DIR, 'testdata') + +def gitify(path): + files = os.listdir(path) + subprocess.check_call(['git', 'init'], cwd=path) + subprocess.check_call(['git', 'add'] + files, cwd=path) + subprocess.check_call(['git', 'commit', '-m', 'Initial'], cwd=path) + +class TestUpdateNode(unittest.TestCase): + def setUp(self): + self.workdir = tempfile.mkdtemp(prefix='tmp_test_node_') + + def tearDown(self): + shutil.rmtree(self.workdir) + + def testUpdate(self): + v8_cwd = os.path.join(self.workdir, 'v8') + node_cwd = os.path.join(self.workdir, 'node') + + # Set up V8 test fixture. + shutil.copytree(src=os.path.join(TEST_DATA, 'v8'), dst=v8_cwd) + gitify(v8_cwd) + + # Set up node test fixture. + shutil.copytree(src=os.path.join(TEST_DATA, 'node'), dst=node_cwd) + gitify(os.path.join(node_cwd)) + + # Add a patch. + with open(os.path.join(v8_cwd, 'v8_foo'), 'w') as f: + f.write('zonk') + subprocess.check_call(['git', 'add', 'v8_foo'], cwd=v8_cwd) + subprocess.check_call(['git', 'commit', '-m', "Title\n\nBody"], cwd=v8_cwd) + commit = subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=v8_cwd).strip() + + # Run update script. + backport_node.Main([v8_cwd, node_cwd, commit, "--no-review"]) + + # Check message. + message = subprocess.check_output(['git', 'log', '-1', '--format=%B'], cwd=node_cwd) + self.assertIn('Original commit message:\n\n Title\n\n Body', message) + + # Check patch. + gitlog = subprocess.check_output( + ['git', 'diff', 'master', '--cached', '--', 'deps/v8/v8_foo'], + cwd=node_cwd, + ) + self.assertIn('+zonk', gitlog.strip()) + + # Check version. + version_file = os.path.join(node_cwd, "deps", "v8", "include", "v8-version.h") + self.assertIn('#define V8_PATCH_LEVEL 4322', FileToText(version_file)) + +if __name__ == "__main__": + unittest.main() diff --git a/deps/v8/tools/release/test_scripts.py b/deps/v8/tools/release/test_scripts.py index bfc68dc818..42bbd5a0a1 100755 --- a/deps/v8/tools/release/test_scripts.py +++ b/deps/v8/tools/release/test_scripts.py @@ -586,11 +586,7 @@ class ScriptTest(unittest.TestCase): Cmd("git log -1 --format=%B rev3", "Title\n\nBUG=321\nLOG=true\n"), Cmd("git log -1 --format=%an rev3", "author3@chromium.org"), Cmd("git log -1 --format=%s rev4", "Title text 4"), - Cmd("git log -1 --format=%B rev4", - ("Title\n\nBUG=456\nLOG=Y\n\n" - "Review URL: https://codereview.chromium.org/9876543210\n")), - URL("https://codereview.chromium.org/9876543210/description", - "Title\n\nBUG=456\nLOG=N\n\n"), + Cmd("git log -1 --format=%B rev4", "Title\n\nBUG=456\nLOG=N"), Cmd("git log -1 --format=%an rev4", "author4@chromium.org"), ]) @@ -861,7 +857,7 @@ Performance and stability improvements on all platforms.""" "\"Version 3.22.5 (based on push_hash)\"" " origin/candidates", "hsh_to_tag"), Cmd("git tag 3.22.5 hsh_to_tag", ""), - Cmd("git push origin 3.22.5", ""), + Cmd("git push origin refs/tags/3.22.5:refs/tags/3.22.5", ""), Cmd("git checkout -f origin/master", ""), Cmd("git branch -D %s" % TEST_CONFIG["BRANCHNAME"], ""), Cmd("git branch -D %s" % TEST_CONFIG["CANDIDATESBRANCH"], ""), @@ -905,7 +901,9 @@ Performance and stability improvements on all platforms.""" Log text 1 (issue 321). -Performance and stability improvements on all platforms.""" +Performance and stability improvements on all platforms. + +TBR=reviewer@chromium.org""" def ResetChangeLog(): last_change_log = """1999-04-05: Version 3.22.4 @@ -969,12 +967,14 @@ Performance and stability improvements on all platforms.""" cb=self.WriteFakeWatchlistsFile), Cmd("git commit -aF \"%s\"" % TEST_CONFIG["COMMITMSG_FILE"], "", cb=CheckVersionCommit), + Cmd("git cl upload --send-mail --email \"author@chromium.org\" " + "-f --bypass-hooks --gerrit --private", ""), Cmd("git cl land --bypass-hooks -f", ""), Cmd("git fetch", ""), Cmd("git log -1 --format=%H --grep=" "\"Version 3.22.5\" origin/3.22.5", "hsh_to_tag"), Cmd("git tag 3.22.5 hsh_to_tag", ""), - Cmd("git push origin 3.22.5", ""), + Cmd("git push origin refs/tags/3.22.5:refs/tags/3.22.5", ""), Cmd("git checkout -f origin/master", ""), Cmd("git branch", "* master\n work-branch\n"), Cmd("git branch -D work-branch", ""), @@ -1119,7 +1119,7 @@ deps = { self.ROLL_COMMIT_MSG), "", cwd=chrome_dir), Cmd("git cl upload --send-mail --email \"author@chromium.org\" -f " - "--use-commit-queue --bypass-hooks", "", cwd=chrome_dir), + "--use-commit-queue --bypass-hooks --gerrit", "", cwd=chrome_dir), Cmd("git checkout -f master", "", cwd=chrome_dir), Cmd("git branch -D work-branch", "", cwd=chrome_dir), ] @@ -1288,7 +1288,7 @@ LOG=N "\" refs/remotes/origin/candidates", "hsh_to_tag"), Cmd("git tag 3.22.5.1 hsh_to_tag", ""), - Cmd("git push origin 3.22.5.1", ""), + Cmd("git push origin refs/tags/3.22.5.1:refs/tags/3.22.5.1", ""), Cmd("git checkout -f origin/master", ""), Cmd("git branch -D %s" % TEST_CONFIG["BRANCHNAME"], ""), ]) @@ -1626,8 +1626,8 @@ NOTREECHECKS=true Cmd("git log -1 --format=%s ab56789", "Revert \"Something\""), Cmd("git log -1 ab12345", "Title4\nBUG=123\nBUG=234"), Cmd("git log -1 ab23456", "Title2\n BUG = v8:123,345"), - Cmd("git log -1 ab34567", "Title3\nLOG=n\nBUG=567, 456"), - Cmd("git log -1 ab45678", "Title1\nBUG="), + Cmd("git log -1 ab34567", "Title3\nLOG=n\nBug: 567, 456,345"), + Cmd("git log -1 ab45678", "Title1\nBug:"), Cmd("git log -1 ab56789", "Revert \"Something\"\nBUG=none"), Cmd("git log -1 -p ab12345", "patch4"), Cmd(("git apply --index --reject \"%s\"" % |