コード例 #1
0
 def from_objects(cls,
                  repository,
                  revision_id,
                  time,
                  timezone,
                  target_branch,
                  local_target_branch=None,
                  public_branch=None,
                  message=None):
     submit_branch = _mod_branch.Branch.open(target_branch)
     submit_branch.lock_read()
     try:
         submit_revision_id = submit_branch.last_revision()
         repository.fetch(submit_branch.repository, submit_revision_id)
         graph = repository.get_graph()
         todo = graph.find_difference(submit_revision_id, revision_id)[1]
         cg, revidmap = dchangegroup(
             repository, getattr(submit_branch, "mapping", default_mapping),
             todo)
         fn = changegroup.writebundle(cg, None, BUNDLE_TYPE)
         f = open(fn, 'r')
         try:
             contents = f.read()
         finally:
             f.close()
     finally:
         submit_branch.unlock()
     return cls(revision_id, None, time, timezone, target_branch, contents,
                None, public_branch, message)
コード例 #2
0
 def _generate_changegroup(self, revision_id, mapping, lossy=False):
     assert revision_id is not None
     graph = self.source.get_graph()
     revs = graph.find_difference(self.target.last_revision(),
                                  revision_id)[1]
     from breezy.plugins.hg.changegroup import dchangegroup
     return dchangegroup(self.source, mapping, revs, lossy=lossy)
コード例 #3
0
ファイル: overlay.py プロジェクト: breezy-team/breezy-hg
 def changegroup(self, nodes, kind):
     """See mercurial.repo.changegroup()."""
     if nodes == [mercurial.node.nullid]:
         revids = [
             revid for revid in self.repo.all_revision_ids()
             if revid != _mod_revision.NULL_REVISION
         ]
     else:
         revids = [
             self.lookup_revision_by_changeset_id(node) for node in nodes
         ]
     from breezy.plugins.hg.changegroup import dchangegroup
     self.repo.lock_read()
     try:
         return dchangegroup(self.repo, self.mapping, revids,
                             lossy=False)[0]
     finally:
         self.repo.unlock()