tree 487737dfd87b99bc1ee99103ce2893c942f5c718
parent 6dcf285df02cc4ba5dfeffe46190b557a85b2c03
author Edwin Kempin <ekempin@google.com> 1685460197 +0000
committer Edwin Kempin <ekempin@google.com> 1685460197 +0000

Do not fail when listing files for initial commit against the first parent

DiffOperations used an empty *tree* as the base *commit* when getting
the diff for an initial commit and the user specified comparing against
the first parent (which doesn't exist). In this case the request failed
with 500 ISE because the empty tree is not a commit and thus we run into
an IncorrectObjectTypeException.

Instead of failing in this case we are now falling back to comparing
against the default root.

This also makes the code more readable as it was quite confusing that
the methods getParentCommit and getBaseCommit in BaseCommitUtil were
actually not guaranteed to return a commit, but could return a Git tree
instead. It seems that none of the callers was expecting and handling
this. Now we return null as the base/parent commit if the commit doesn't
have a parent. Null was already returned before when the commit had more
than 2 parents, so returning null in the new case is consistent with
that. FWIW null is not properly handled by all callers yet, but it is at
least handled by the one caller now that is relevant for the use case
that we are fixing here.

The old code also used the inserter that was supposed for creating
auto-merge commits only to insert the empty tree into the repository. It
seems this was not intended and it's good if we can get rid of this now.

At the moment at Google this issue happens very frequently and these
errors are counted against our SLO budget, potentially triggering SLO
violation alerts.

Release-Notes: Fixed listing files for initial commit when user specified to compare against the first parent which doesn't exist
Change-Id: I37edf7c394ef9472a641270798612652c6586c8c
Signed-off-by: Edwin Kempin <ekempin@google.com>
Bug: Google b/284443167
