summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--morphlib/cachedrepo.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/morphlib/cachedrepo.py b/morphlib/cachedrepo.py
index f0ca627b..c40cb657 100644
--- a/morphlib/cachedrepo.py
+++ b/morphlib/cachedrepo.py
@@ -271,7 +271,11 @@ class CachedRepo(object):
raise CheckoutError(self, ref, target_dir)
def _update(self): # pragma: no cover
- self._runcmd(['git', 'remote', 'update', 'origin', '--prune'])
+ try:
+ self._runcmd(['git', 'remote', 'update', 'origin', '--prune'])
+ except cliapp.AppException, ae:
+ self._runcmd(['git', 'remote', 'prune', 'origin'])
+ self._runcmd(['git', 'remote', 'update', 'origin'])
def __str__(self): # pragma: no cover
return self.url