summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'project.py')
-rw-r--r--project.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/project.py b/project.py
index 25a8cdcd..27ea748f 100644
--- a/project.py
+++ b/project.py
@@ -2659,6 +2659,17 @@ class Project:
2659 # Fallthru to sleep+retry logic at the bottom. 2659 # Fallthru to sleep+retry logic at the bottom.
2660 pass 2660 pass
2661 2661
2662 # TODO(b/360889369#comment24): git may gc commits incorrectly.
2663 # Until the root cause is fixed, retry fetch with --refetch which
2664 # will bring the repository into a good state.
2665 elif gitcmd.stdout and "could not parse commit" in gitcmd.stdout:
2666 cmd.insert(1, "--refetch")
2667 print(
2668 "could not parse commit error, retrying with refetch",
2669 file=output_redir,
2670 )
2671 continue
2672
2662 # Try to prune remote branches once in case there are conflicts. 2673 # Try to prune remote branches once in case there are conflicts.
2663 # For example, if the remote had refs/heads/upstream, but deleted 2674 # For example, if the remote had refs/heads/upstream, but deleted
2664 # that and now has refs/heads/upstream/foo. 2675 # that and now has refs/heads/upstream/foo.