afb896da5d
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 |
||
---|---|---|
.. | ||
__init__.py | ||
client.py | ||
merger.py | ||
server.py |