bisect-kit: only bisect commits on the topic branch

Assume "upstream" and "topic" branches are both developed parallelly
and merged from time to time. We want to bisect topic branch between E
and H.

-------A-----B-----C-----D--------------> upstream
              \           \
----E----------F-----------G-----H------> topic

The bisect candidates should be just EFGH. Although ABCD are part of the
history, they should not be included because they don't contain
essential commits for our project. In other words, the tree states of
ABCD have never appeared in the development history of the topic branch.

Thus we should always pass --first-parent to git commands.

Also reverted previous workaround.

BUG=b:169379167
TEST=./bisect_cros_repo.py init --old R85-13254.0.0 --new R85-13255.0.0

Change-Id: Ib0a484b5fc541638fdb8134587c43bed916b31c7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/bisect-kit/+/2526581
Tested-by: Kuang-che Wu <kcwu@chromium.org>
Auto-Submit: Kuang-che Wu <kcwu@chromium.org>
Commit-Queue: Zheng-Jie Chang <zjchang@chromium.org>
Reviewed-by: Zheng-Jie Chang <zjchang@chromium.org>
diff --git a/bisect_kit/git_util.py b/bisect_kit/git_util.py
index 9fdf7d9..9d7ea3c 100644
--- a/bisect_kit/git_util.py
+++ b/bisect_kit/git_util.py
@@ -447,7 +447,10 @@
   """
   assert old
   assert new
-  cmd = ['git', 'rev-list', '--reverse', '%s^..%s' % (old, new)]
+  cmd = [
+      'git', 'rev-list', '--first-parent', '--reverse',
+      '%s^..%s' % (old, new)
+  ]
   revlist = util.check_output(*cmd, cwd=git_repo).splitlines()
   return revlist
 
@@ -628,6 +631,7 @@
   text = util.check_output(
       'git',
       'rev-list',
+      '--first-parent',
       '--timestamp',
       '-1',
       '--before',
@@ -639,6 +643,7 @@
   text += util.check_output(
       'git',
       'rev-list',
+      '--first-parent',
       '--timestamp',
       '--reverse',
       '--after',