Don't use outdated repo object in reset
When resetting a repository, the merger performs an update of the
origin remote to ensure that it has the latest HEAD. This was done
after the reset method instantiated its own repo object. It is
possible that the repository may have changed sufficiently via
the update method (which uses its own repo object) that the original
repo object may not function correctly.
Change-Id: I78354999be7a2ad2b113c9637b436734b6be4eb9
diff --git a/zuul/merger/merger.py b/zuul/merger/merger.py
index f571ad0..f98fd3e 100644
--- a/zuul/merger/merger.py
+++ b/zuul/merger/merger.py
@@ -86,9 +86,9 @@
return repo
def reset(self):
- repo = self.createRepoObject()
self.log.debug("Resetting repository %s" % self.local_path)
self.update()
+ repo = self.createRepoObject()
origin = repo.remotes.origin
for ref in origin.refs:
if ref.remote_head == 'HEAD':