574
577
return self.store.iter_tree_contents(
575
578
self.tree, include_trees=include_trees)
580
def annotate_iter(self, path, file_id=None,
581
default_revision=CURRENT_REVISION):
582
"""Return an iterator of revision_id, line tuples.
584
For working trees (and mutable trees in general), the special
585
revision_id 'current:' will be used for lines that are new in this
586
tree, e.g. uncommitted changes.
587
:param file_id: The file to produce an annotated version from
588
:param default_revision: For lines that don't match a basis, mark them
589
with this revision id. Not all implementations will make use of
592
with self.lock_read():
593
# Now we have the parents of this content
594
from breezy.annotate import Annotator
595
from .annotate import AnnotateProvider
596
annotator = Annotator(AnnotateProvider(
597
self._repository._file_change_scanner))
598
this_key = (path, self.get_file_revision(path))
599
annotations = [(key[-1], line)
600
for key, line in annotator.annotate_flat(this_key)]
578
604
def tree_delta_from_git_changes(changes, mapping,
579
605
fileid_maps, specific_files=None,