aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Ryabitsev <konstantin@linuxfoundation.org>2020-09-04 16:47:01 -0400
committerKonstantin Ryabitsev <konstantin@linuxfoundation.org>2020-09-04 16:47:01 -0400
commit04d679b85e62d5ee6b4a31c39ae3d110afcd65b7 (patch)
treec6b8562c4f4494df81db8b42a8b9e5b860d3471e
parent689585a7d7d69cf04b5061cd60ae34405cfe4637 (diff)
downloadgrokmirror-04d679b85e62d5ee6b4a31c39ae3d110afcd65b7.tar.gz
Force fetch on fingerprint discrepancies
There can be situations where local grok-pull process exited without writing the proper fingerprint into the manifest. When we find a discrepancy, force a fetch. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
-rwxr-xr-xgrokmirror/pull.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/grokmirror/pull.py b/grokmirror/pull.py
index ca86570..0209915 100755
--- a/grokmirror/pull.py
+++ b/grokmirror/pull.py
@@ -819,6 +819,10 @@ def fill_todo_from_manifest(config, q_mani, nomtime=False, forcepurge=False):
q_mani.put((gitdir, repoinfo, 'fix_params'))
my_fingerprint = grokmirror.get_repo_fingerprint(toplevel, gitdir)
+ if my_fingerprint != l_manifest[gitdir].get('fingerprint'):
+ logger.debug('Fingerprint discrepancy, forcing a fetch')
+ q_mani.put((gitdir, repoinfo, 'pull'))
+ continue
if my_fingerprint == r_culled[gitdir]['fingerprint']:
logger.debug('Fingerprints match, skipping %s', gitdir)