Merge lp:~gagern/trac-bzr/bug194277 into lp:trac-bzr

Proposed by Martin von Gagern
Status: Merged
Merged at revision: not available
Proposed branch: lp:~gagern/trac-bzr/bug194277
Merge into: lp:trac-bzr
Diff against target: 96 lines (+9/-40)
1 file modified
tracbzr/backend.py (+9/-40)
To merge this branch: bzr merge lp:~gagern/trac-bzr/bug194277
Reviewer Review Type Date Requested Status
Trac-bzr-team Pending
Review via email: mp+15323@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Martin von Gagern (gagern) wrote :

Quite a lot of code gone in the process. Makes me wonder whether there was really that much unused code in trac-bzr, or whether I missed something. So I'd really like to see at least one Appove vote here if possible. In my opinion http://bazaar.launchpad.net/~trac-bzr-team/trac-bzr/trunk/revision/68 is the commit that renders get_change obsolete and _history_cache along with it.

lp:~gagern/trac-bzr/bug194277 updated
81. By Martin von Gagern

Merge from trunk

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'tracbzr/backend.py'
--- tracbzr/backend.py 2009-11-27 18:21:10 +0000
+++ tracbzr/backend.py 2009-12-07 17:21:10 +0000
@@ -567,19 +567,22 @@
567 new_branch, new_revid = self._parse_rev(new_rev)567 new_branch, new_revid = self._parse_rev(new_rev)
568 old_tree = old_branch.repository.revision_tree(old_revid)568 old_tree = old_branch.repository.revision_tree(old_revid)
569 new_tree = new_branch.repository.revision_tree(new_revid)569 new_tree = new_branch.repository.revision_tree(new_revid)
570 delta = new_tree.changes_from(old_tree)570 prefix = self.branch_path(new_branch)
571 subdir = new_path[len(prefix)+1:]
572 delta = new_tree.changes_from(old_tree, specific_files=[subdir])
571 for path, file_id, kind in delta.added:573 for path, file_id, kind in delta.added:
574 path = osutils.pathjoin(prefix, path)
572 entry = new_tree.inventory[file_id]575 entry = new_tree.inventory[file_id]
573 node = NODE_MAP[kind](self, new_branch, new_tree, entry, path)576 node = NODE_MAP[kind](self, new_branch, new_tree, entry, path)
574 cur_path = new_tree.id2path(file_id)
575 node._history_cache[(new_revid, old_revid, file_id)] = \
576 cur_path, new_rev, versioncontrol.Changeset.ADD
577 yield None, node, node.kind, versioncontrol.Changeset.ADD577 yield None, node, node.kind, versioncontrol.Changeset.ADD
578 for path, file_id, kind in delta.removed:578 for path, file_id, kind in delta.removed:
579 path = osutils.pathjoin(prefix, path)
579 entry = old_tree.inventory[file_id]580 entry = old_tree.inventory[file_id]
580 node = NODE_MAP[kind](self, old_branch, old_tree, entry, path)581 node = NODE_MAP[kind](self, old_branch, old_tree, entry, path)
581 yield node, None, node.kind, versioncontrol.Changeset.DELETE582 yield node, None, node.kind, versioncontrol.Changeset.DELETE
582 for oldpath, newpath, file_id, kind, textmod, metamod in delta.renamed:583 for oldpath, newpath, file_id, kind, textmod, metamod in delta.renamed:
584 oldpath = osutils.pathjoin(prefix, oldpath)
585 newpath = osutils.pathjoin(prefix, newpath)
583 oldnode = NODE_MAP[kind](self, old_branch, old_tree,586 oldnode = NODE_MAP[kind](self, old_branch, old_tree,
584 old_tree.inventory[file_id], oldpath)587 old_tree.inventory[file_id], oldpath)
585 newnode = NODE_MAP[kind](self, new_branch, new_tree,588 newnode = NODE_MAP[kind](self, new_branch, new_tree,
@@ -591,7 +594,8 @@
591 yield oldnode, newnode, oldnode.kind, versioncontrol.Changeset.MOVE594 yield oldnode, newnode, oldnode.kind, versioncontrol.Changeset.MOVE
592 for path, file_id, kind, textmod, metamod in delta.modified:595 for path, file_id, kind, textmod, metamod in delta.modified:
593 # Bzr won't report a changed path as a rename but trac wants that.596 # Bzr won't report a changed path as a rename but trac wants that.
594 oldpath = old_tree.id2path(file_id)597 path = osutils.pathjoin(prefix, path)
598 oldpath = osutils.pathjoin(prefix, old_tree.id2path(file_id))
595 oldnode = NODE_MAP[kind](self, old_branch, old_tree,599 oldnode = NODE_MAP[kind](self, old_branch, old_tree,
596 old_tree.inventory[file_id], oldpath)600 old_tree.inventory[file_id], oldpath)
597 newnode = NODE_MAP[kind](self, new_branch, new_tree,601 newnode = NODE_MAP[kind](self, new_branch, new_tree,
@@ -604,9 +608,6 @@
604 action = versioncontrol.Changeset.MOVE608 action = versioncontrol.Changeset.MOVE
605 else:609 else:
606 action = versioncontrol.Changeset.EDIT610 action = versioncontrol.Changeset.EDIT
607 cur_path = new_tree.id2path(file_id)
608 newnode._history_cache[(new_revid, old_revid, file_id)] = \
609 cur_path, new_rev, action
610 yield oldnode, newnode, oldnode.kind, action611 yield oldnode, newnode, oldnode.kind, action
611612
612 def dotted_revno(self, branch, revid):613 def dotted_revno(self, branch, revid):
@@ -681,7 +682,6 @@
681682
682class BzrVersionedNode(BzrNode):683class BzrVersionedNode(BzrNode):
683684
684 _history_cache = {}
685 _diff_map = {685 _diff_map = {
686 'modified': versioncontrol.Changeset.EDIT,686 'modified': versioncontrol.Changeset.EDIT,
687 'unchanged': versioncontrol.Changeset.EDIT,687 'unchanged': versioncontrol.Changeset.EDIT,
@@ -832,37 +832,6 @@
832 current_revid = previous_revid832 current_revid = previous_revid
833 current_tree = previous_tree833 current_tree = previous_tree
834834
835
836 def get_change(self, revision, previous_revision, file_id):
837 key = (revision, previous_revision, file_id)
838 if key not in self._history_cache or False:
839 self._history_cache[key] = self.calculate_history(revision,
840 previous_revision, file_id)
841 return self._history_cache[key]
842
843 def calculate_history(self, revision, previous_revision, file_id):
844 cache = self.bzr_repo.get_branch_cache(self.branch)
845 tree = cache.revision_tree(revision)
846 current_entry = tree.inventory[file_id]
847 current_path = tree.id2path(file_id)
848 if previous_revision not in (None, NULL_REVISION):
849 previous_tree = cache.revision_tree(previous_revision)
850 previous_entry = previous_tree.inventory[file_id]
851 else:
852 previous_entry = None
853 # We should only get revisions in the ancestry for which
854 # we exist, so this should succeed..
855 return self.compare_entries(current_path, current_entry,
856 previous_entry)
857
858 def compare_entries(self, current_path, current_entry, previous_entry):
859 diff = current_entry.describe_change(previous_entry, current_entry)
860 rev = self.bzr_repo.string_rev(self.branch, current_entry.revision)
861 try:
862 return current_path, rev, self._diff_map[diff]
863 except KeyError:
864 raise Exception('unknown describe_change %r' % (diff,))
865
866 def get_content_revision(self):835 def get_content_revision(self):
867 """For non-directory nodes, the content was last changed here."""836 """For non-directory nodes, the content was last changed here."""
868 return self.entry.revision837 return self.entry.revision

Subscribers

People subscribed via source and target branches