Rev 1395: Implement item_keys_introduced_by(). in http://people.samba.org/bzr/jelmer/bzr-svn/0.4
Jelmer Vernooij
jelmer at samba.org
Tue Jul 1 13:46:52 BST 2008
At http://people.samba.org/bzr/jelmer/bzr-svn/0.4
------------------------------------------------------------
revno: 1395
revision-id: jelmer at samba.org-20080701124651-uh04jxaw3czphkgs
parent: jelmer at samba.org-20080701123311-edxh24acz3fqq133
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Tue 2008-07-01 14:46:51 +0200
message:
Implement item_keys_introduced_by().
modified:
repository.py repository.py-20060306123302-1f8c5069b3fe0265
tests/test_repository.py test_repos.py-20060508151940-ddc49a59257ca712
=== modified file 'repository.py'
--- a/repository.py 2008-07-01 12:33:11 +0000
+++ b/repository.py 2008-07-01 12:46:51 +0000
@@ -249,18 +249,18 @@
self._cached_revnum = self.transport.get_latest_revnum()
return self._cached_revnum
- def item_keys_introduced_by(self, revision_ids, _file_pb=None):
+ def item_keys_introduced_by(self, revision_ids, _files_pb=None):
fileids = {}
for count, (revid, d) in enumerate(zip(revision_ids, self.get_deltas_for_revisions(self.get_revisions(revision_ids)))):
- if _files_cb is not None:
+ if _files_pb is not None:
_files_pb.update("fetch revisions for texts", count, len(revision_ids))
for c in d.added + d.modified:
fileids.setdefault(c[1], set()).add(revid)
for c in d.renamed:
fileids.setdefault(c[2], set()).add(revid)
- for fileids, altered_versions in fileids.items():
+ for fileid, altered_versions in fileids.items():
yield ("file", fileid, altered_versions)
# We're done with the files_pb. Note that it finished by the caller,
@@ -274,7 +274,7 @@
for rev_id in revision_ids:
try:
self.get_signature_text(rev_id)
- except errors.NoSuchRevision:
+ except NoSuchRevision:
# not signed.
pass
else:
=== modified file 'tests/test_repository.py'
--- a/tests/test_repository.py 2008-06-29 12:45:15 +0000
+++ b/tests/test_repository.py 2008-07-01 12:46:51 +0000
@@ -1160,6 +1160,27 @@
self.assertEquals(repos.generate_revision_id(1, "py/trunk", mapping), \
repos.lhs_revision_parent("de/trunk", 3, mapping))
+ def test_item_keys_introduced_by(self):
+ repos_url = self.make_repository('d')
+
+ cb = self.get_commit_editor(repos_url)
+ cb.add_file("foo").modify()
+ cb.close()
+
+ cb = self.get_commit_editor(repos_url)
+ cb.open_file("foo").modify()
+ cb.close()
+
+ b = Branch.open(repos_url)
+ mapping = b.repository.get_mapping()
+ ch = list(b.repository.item_keys_introduced_by([b.last_revision()]))
+ revid = b.last_revision()
+ self.assertEquals([
+ ('file', mapping.generate_file_id(b.repository.uuid, 1, "", u"foo"), set([revid])),
+ ('inventory', None, [revid]),
+ ('signatures', None, set([])),
+ ('revisions', None, [revid])], ch)
+
class TestSvnRevisionTree(TestCaseWithSubversionRepository):
def setUp(self):
More information about the bazaar-commits
mailing list