diff options
author | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2020-09-04 16:47:01 -0400 |
---|---|---|
committer | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2020-09-04 16:47:01 -0400 |
commit | 04d679b85e62d5ee6b4a31c39ae3d110afcd65b7 (patch) | |
tree | c6b8562c4f4494df81db8b42a8b9e5b860d3471e | |
parent | 689585a7d7d69cf04b5061cd60ae34405cfe4637 (diff) | |
download | grokmirror-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-x | grokmirror/pull.py | 4 |
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) |