zuul/zuul/merger
James E. Blair 3589762367 Speed up merger git resets
The merger starts every operation by resetting the repository.
That means clearing out any failed previous merges and updating
and restoring the branch state to match the upstream origin
repo.

For repos with a very large number of branches (10k), this can take
some time (minutes).  This is mostly due to the inefficiency of
looking up the origin ref one at a time (gitpython reads the
packed-refs file for each lookup, ironically negating the benefit
of packed-refs).  To bypass this, use our previously developed
method for getting all the refs efficiently and do that once at
the start of the reset method.

Change-Id: If21245cd562c6499378c4f3353332d87c4ca4b47
2024-04-30 15:47:17 -07:00
..
__init__.py Split the merger into a separate process 2014-02-17 11:47:15 -08:00
client.py Finish circular dependency refactor 2024-02-09 07:39:40 -08:00
merger.py Speed up merger git resets 2024-04-30 15:47:17 -07:00
server.py Finish circular dependency refactor 2024-02-09 07:39:40 -08:00