Merge lp:~jelmer/brz/update-refs into lp:brz/3.1

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: no longer in the source branch.
Merge reported by: The Breezy Bot
Merged at revision: not available
Proposed branch: lp:~jelmer/brz/update-refs
Merge into: lp:brz/3.1
Diff against target: 62 lines (+23/-10)
2 files modified
breezy/git/branch.py (+20/-7)
breezy/git/interrepo.py (+3/-3)
To merge this branch: bzr merge lp:~jelmer/brz/update-refs
Reviewer Review Type Date Requested Status
Jelmer Vernooij Approve
Review via email: mp+396796@code.launchpad.net

Commit message

Fix handling of some git fetches.

Description of the change

Fix handling of some git fetches.

To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) :
review: Approve
Revision history for this message
The Breezy Bot (the-breezy-bot) wrote :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'breezy/git/branch.py'
--- breezy/git/branch.py 2020-11-21 23:31:28 +0000
+++ breezy/git/branch.py 2021-01-23 02:57:05 +0000
@@ -1455,13 +1455,26 @@
1455 for k, v in viewitems(self.source.tags.get_tag_dict()):1455 for k, v in viewitems(self.source.tags.get_tag_dict()):
1456 ret.append((None, v))1456 ret.append((None, v))
1457 ret.append((None, stop_revision))1457 ret.append((None, stop_revision))
1458 try:1458 if getattr(self.interrepo, 'fetch_revs', None):
1459 revidmap = self.interrepo.fetch_revs(ret, lossy=lossy, limit=limit)1459 try:
1460 except NoPushSupport:1460 revidmap = self.interrepo.fetch_revs(ret, lossy=lossy, limit=limit)
1461 raise errors.NoRoundtrippingSupport(self.source, self.target)1461 except NoPushSupport:
1462 return _mod_repository.FetchResult(revidmap={1462 raise errors.NoRoundtrippingSupport(self.source, self.target)
1463 old_revid: new_revid1463 return _mod_repository.FetchResult(revidmap={
1464 for (old_revid, (new_sha, new_revid)) in revidmap.items()})1464 old_revid: new_revid
1465 for (old_revid, (new_sha, new_revid)) in revidmap.items()})
1466 else:
1467 def determine_wants(refs):
1468 wants = []
1469 for git_sha, revid in ret:
1470 if git_sha is None:
1471 git_sha, mapping = self.target.lookup_bzr_revision_id(revid)
1472 wants.append(git_sha)
1473 return wants
1474
1475 self.interrepo.fetch_objects(
1476 determine_wants, lossy=lossy, limit=limit)
1477 return _mod_repository.FetchResult()
14651478
1466 def pull(self, overwrite=False, stop_revision=None, local=False,1479 def pull(self, overwrite=False, stop_revision=None, local=False,
1467 possible_transports=None, run_hooks=True, _stop_revno=None,1480 possible_transports=None, run_hooks=True, _stop_revno=None,
14681481
=== modified file 'breezy/git/interrepo.py'
--- breezy/git/interrepo.py 2020-11-21 23:31:28 +0000
+++ breezy/git/interrepo.py 2021-01-23 02:57:05 +0000
@@ -655,7 +655,7 @@
655655
656 def determine_wants(heads):656 def determine_wants(heads):
657 old_refs = dict([(k, (v, None))657 old_refs = dict([(k, (v, None))
658 for (k, v) in viewitems(heads.as_dict())])658 for (k, v) in viewitems(heads)])
659 new_refs = update_refs(old_refs)659 new_refs = update_refs(old_refs)
660 ref_changes.update(new_refs)660 ref_changes.update(new_refs)
661 return [sha1 for (sha1, bzr_revid) in viewvalues(new_refs)]661 return [sha1 for (sha1, bzr_revid) in viewvalues(new_refs)]
@@ -807,9 +807,9 @@
807 def git_update_refs(old_refs):807 def git_update_refs(old_refs):
808 ret = {}808 ret = {}
809 self.old_refs = {809 self.old_refs = {
810 k: (v, None) for (k, v) in viewitems(old_refs)}810 k: (v, None) for (k, v) in old_refs.items()}
811 new_refs = update_refs(self.old_refs)811 new_refs = update_refs(self.old_refs)
812 for name, (gitid, revid) in viewitems(new_refs):812 for name, (gitid, revid) in new_refs.items():
813 if gitid is None:813 if gitid is None:
814 gitid = self.source_store._lookup_revision_sha1(revid)814 gitid = self.source_store._lookup_revision_sha1(revid)
815 if not overwrite:815 if not overwrite:

Subscribers

People subscribed via source and target branches