[depot_tools] Add --fork-point when computing merge-base
Using --fork-point when possible reduces the number of merge conflicts when running merge-base.
Bug: 1111269
Change-Id: I7240fdc9a613d2eb4e856b5677fc713551d7afe9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2519729
Reviewed-by: Josip Sokcevic <sokcevic@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
diff --git a/git_common.py b/git_common.py
index 91ddeb4..e9b3220 100644
--- a/git_common.py
+++ b/git_common.py
@@ -530,7 +530,11 @@
parent = parent or upstream(branch)
if parent is None or branch is None:
return None
- actual_merge_base = run('merge-base', parent, branch)
+
+ try:
+ actual_merge_base = run('merge-base', '--fork-point', parent, branch)
+ except subprocess2.CalledProcessError:
+ actual_merge_base = run('merge-base', parent, branch)
if base_upstream != parent:
base = None