zuul/zuul/merger
Simon Westphahl afb896da5d Prevent Git GC issue between merger and executor
Since executors can also handle merge jobs and those merges happen in
the executor's repo cache we need to protect temporary merger refs from
being garbage collected.

Because the executor's update jobs might reset the local branch heads in
between merges, we create the refs for the speculative branch state in
'refs/zuul' instead. Those refs are cleaned up when the related branch
no longer exists.

Branch names for the Zuul refs are hashed (SHA1) in order to avoid
issues with empty directories when the branch name contains slashes.
E.g. the speculative state of the master branch will be referenced by
'refs/zuul/4f26aeafdb2367620a393c973eddbe8f8b846ebd'

Change-Id: Idd2b0bd2dfeba22f3961f851f8a463bc5c9d37ff
2020-08-21 11:08:15 +02:00
..
__init__.py Split the merger into a separate process 2014-02-17 11:47:15 -08:00
client.py Match tag items against containing branches 2020-03-06 13:29:18 -08:00
merger.py Prevent Git GC issue between merger and executor 2020-08-21 11:08:15 +02:00
server.py Correctly fail cat/fileschanges when update fails 2020-07-16 15:35:18 +02:00