Limit the rebase-update call after reparent-branch

Previously, `git reparent-branch` would call `git rebase-update
--no-fetch` effectively rebasing all branches. Limit the branches to
update to the one being moved and its dependants.

Change-Id: Ifb9f5b0ab4afe18f9c642ca47d683d9f3745bede
Reviewed-on: https://chromium-review.googlesource.com/c/1476393
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
changes/93/1476393/2
Henrique Ferreiro 6 years ago committed by Commit Bot
parent 3acdefa9aa
commit 9f273d01c0

@ -12,6 +12,7 @@ import subprocess2
from git_common import upstream, current_branch, run, tags, set_branch_config from git_common import upstream, current_branch, run, tags, set_branch_config
from git_common import get_or_create_merge_base, root, manual_merge_base from git_common import get_or_create_merge_base, root, manual_merge_base
from git_common import get_branch_tree, topo_iter
import git_rebase_update import git_rebase_update
@ -81,8 +82,13 @@ def main(args):
manual_merge_base(branch, mbase, new_parent) manual_merge_base(branch, mbase, new_parent)
# TODO(iannucci): ONLY rebase-update the branch which moved (and dependants) # ONLY rebase-update the branch which moved (and dependants)
return git_rebase_update.main(['--no-fetch']) _, branch_tree = get_branch_tree()
branches = [branch]
for branch, parent in topo_iter(branch_tree):
if parent in branches:
branches.append(branch)
return git_rebase_update.main(['--no-fetch'] + branches)
if __name__ == '__main__': # pragma: no cover if __name__ == '__main__': # pragma: no cover

Loading…
Cancel
Save