File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change 25
25
from contextlib import suppress , contextmanager
26
26
from dataclasses import dataclass
27
27
from datetime import datetime as dt , timezone
28
- from time import perf_counter
28
+ from time import perf_counter , sleep
29
29
import filecmp
30
30
import json
31
31
import logging
@@ -280,6 +280,15 @@ class Repository:
280
280
remote : str
281
281
directory : Path
282
282
283
+ def fetch (self ):
284
+ """Try (and retry) to run git fetch."""
285
+ try :
286
+ return self .run ("fetch" )
287
+ except subprocess .CalledProcessError as err :
288
+ logging .error ("'git fetch' failed (%s), retrying..." , err .stderr )
289
+ sleep (5 )
290
+ return self .run ("fetch" )
291
+
283
292
def run (self , * args ):
284
293
"""Run git command in the clone repository."""
285
294
return run (("git" , "-C" , self .directory ) + args )
You can’t perform that action at this time.
0 commit comments