Bugfix: Gracefully handle fn-pull when up to date but heads don't fit in top key.
diff --git a/infocalypse/requestingbundles.py b/infocalypse/requestingbundles.py --- a/infocalypse/requestingbundles.py +++ b/infocalypse/requestingbundles.py @@ -477,11 +477,18 @@ class RequestingBundles(RetryingRequestL graph = parse_graph(data) self._handle_dump_canonical_paths(graph) self._set_graph(graph) + assert(not self.freenet_heads is None) + if self.parent.ctx.has_versions(self.freenet_heads): + # Handle case where we are up to date but the heads list + # didn't fit in the top key. + self.parent.ctx.ui_.status('Freenet heads: %s\n' % + ' '.join([ver[:12] for ver in + self.freenet_heads])) + self.parent.ctx.ui_.warn("All remote heads are already " + + "in the local repo.\n") + self.parent.transition(self.success_state) + return True self._reevaluate() - # BUG: need to check for at least one bundle - # in the primary candidates list. i.e. don't stall - # waiting for the second graph! - finally: in_file.close() self.finished_candidates.append(candidate)