Merger: support for pruning remotes
The new merger.prune() method let us remove stall references in the current directory. That is probably of no use for Zuul merger itself but definitely helpful for a client side cloner I am polishing up. Change-Id: I29c780a5f6cd7717b2bd5fb3ee64a1c19b490faa
This commit is contained in:
parent
9932eb4ae4
commit
965233a6c7
|
@ -82,6 +82,14 @@ class Repo(object):
|
|||
repo.head.reset(index=True, working_tree=True)
|
||||
repo.git.clean('-x', '-f', '-d')
|
||||
|
||||
def prune(self):
|
||||
repo = self.createRepoObject()
|
||||
origin = repo.remotes.origin
|
||||
stale_refs = origin.stale_refs
|
||||
if stale_refs:
|
||||
self.log.debug("Pruning stale refs: %s", stale_refs)
|
||||
git.refs.RemoteReference.delete(repo, *stale_refs)
|
||||
|
||||
def getBranchHead(self, branch):
|
||||
repo = self.createRepoObject()
|
||||
branch_head = repo.heads[branch]
|
||||
|
|
Loading…
Reference in New Issue