~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/remote.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-04-01 02:19:37 UTC
  • mfrom: (4214.2.5 get_parent_map_rpc_ghosts)
  • Revision ID: pqm@pqm.ubuntu.com-20090401021937-weq1st849rreuonn
(andrew) Fix regression in get_parent_map RPC client when 'null:' is
        cached as missing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1261
1261
        # We don't need to send ghosts back to the server as a position to
1262
1262
        # stop either.
1263
1263
        stop_keys.difference_update(self._unstacked_provider.missing_keys)
 
1264
        key_count = len(parents_map)
 
1265
        if (NULL_REVISION in result_parents
 
1266
            and NULL_REVISION in self._unstacked_provider.missing_keys):
 
1267
            # If we pruned NULL_REVISION from the stop_keys because it's also
 
1268
            # in our cache of "missing" keys we need to increment our key count
 
1269
            # by 1, because the reconsitituted SearchResult on the server will
 
1270
            # still consider NULL_REVISION to be an included key.
 
1271
            key_count += 1
1264
1272
        included_keys = start_set.intersection(result_parents)
1265
1273
        start_set.difference_update(included_keys)
1266
 
        recipe = ('manual', start_set, stop_keys, len(parents_map))
 
1274
        recipe = ('manual', start_set, stop_keys, key_count)
1267
1275
        body = self._serialise_search_recipe(recipe)
1268
1276
        path = self.bzrdir._path_for_remote_call(self._client)
1269
1277
        for key in keys: