def backport(self):
if not self.branches:
raise click.UsageError("At least one branch must be specified.")
self.fetch_upstream()
for maint_branch in self.sorted_branches:
click.echo(f"Now backporting '{self.commit_sha1}' into '{maint_branch}'")
cherry_pick_branch = self.get_cherry_pick_branch(maint_branch)
self.checkout_branch(maint_branch)
commit_message = ""
try:
self.cherry_pick()
commit_message = self.amend_commit_message(cherry_pick_branch)
except subprocess.CalledProcessError as cpe:
click.echo(cpe.output)
click.echo(self.get_exit_message(maint_branch))
except CherryPickException:
click.echo(self.get_exit_message(maint_branch))
raise
else:
if self.push:
self.push_to_remote(maint_branch,
cherry_pick_branch,
commit_message)
self.cleanup_branch(cherry_pick_branch)
else:
click.echo(\
f"""
Finished cherry-pick {self.commit_sha1} into {cherry_pick_branch} \U0001F600
--no-push option used.
... Stopping here.
To continue and push the changes:
$ cherry_picker --continue
To abort the cherry-pick and cleanup:
$ cherry_picker --abort
""")
评论列表
文章目录