Rev 3896: Final cleanup before sumbmission. in file:///net/bigmamac/Volumes/home/vila/src/bzr/cases/3232-spurious-conflict/

Vincent Ladeuil v.ladeuil+lp at free.fr
Wed Dec 17 16:24:57 GMT 2008


At file:///net/bigmamac/Volumes/home/vila/src/bzr/cases/3232-spurious-conflict/

------------------------------------------------------------
revno: 3896
revision-id: v.ladeuil+lp at free.fr-20081217162451-eme6wed1acy0hdhf
parent: v.ladeuil+lp at free.fr-20081216123440-a09hfbn5lg4v9olr
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: log-deep
timestamp: Wed 2008-12-17 17:24:51 +0100
message:
  Final cleanup before sumbmission.
-------------- next part --------------
=== modified file 'NEWS'
--- a/NEWS	2008-12-16 12:34:40 +0000
+++ b/NEWS	2008-12-17 16:24:51 +0000
@@ -42,6 +42,10 @@
     * Allow BzrDir implementation to implement backing up of 
       control directory. (#139691)
 
+    * ``bzr log -v FILE`` don't display the whole inventory anymore. Only the
+      line about FILE is displayed.
+      (Vincent Ladeuil)
+
     * Don't call iteritems on transport_list_registry, because it may
       change during iteration.  (Martin Pool, #277048)
 

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2008-12-15 15:43:46 +0000
+++ b/bzrlib/builtins.py	2008-12-17 16:24:51 +0000
@@ -1778,7 +1778,7 @@
             custom_help('verbose',
                    help='Show files changed in each revision.'),
             Option('deep',
-                   help='Search for files in all revisions (slower).'),
+                   help='Search for file in all revisions (slower).'),
             'show-ids',
             'revision',
             Option('change',
@@ -1828,7 +1828,8 @@
         specific_file_path = None
         # TODO: interpreting 'location' should be reworked to allow several
         # files to be specified while still allowing the first one to be,
-        # optionally, a branch.
+        # optionally, a branch. (status needs pretty much the same helper see
+        # the TODO before cmd_status.)
         if location:
             # find the file id to log:
 

=== modified file 'bzrlib/log.py'
--- a/bzrlib/log.py	2008-12-15 18:11:57 +0000
+++ b/bzrlib/log.py	2008-12-17 16:24:51 +0000
@@ -210,8 +210,7 @@
                                               end_revision, direction,
                                               specific_fileid,
                                               generate_merge_revisions,
-                                              allow_single_merge_revision,
-                                              _path_filter=_path_filter)
+                                              allow_single_merge_revision)
     rev_tag_dict = {}
     generate_tags = getattr(lf, 'supports_tags', False)
     if generate_tags:
@@ -229,19 +228,13 @@
     for revs in revision_iterator:
         for (rev_id, revno, merge_depth), rev, delta in revs:
             if _path_filter is not None:
-                matches = 0
-                for l in (delta.added, delta.removed,
-                          delta.kind_changed, delta.modified):
-                    for item in l:
-                        if _path_filter(item[0], item[1]): matches += 1
-                for item in delta.renamed:
-                    if (_path_filter(item[0], item[2])
-                        or _path_filter(item[1], item[2])):
-                        matches += 1
-                if not matches:
-                    continue
-                if not generate_delta:
-                    delta = None
+                try:
+                    if _filter_delta(delta, _path_filter) == 0:
+                        continue
+                finally:
+                    if not generate_delta:
+                        # We don't need the delta anymore
+                        delta = None
             lr = LogRevision(rev, revno, merge_depth, delta,
                              rev_tag_dict.get(rev_id))
             lf.log_revision(lr)
@@ -251,10 +244,22 @@
                     return
 
 
+def _filter_delta(delta, filter):
+    """Returns the number of times filter returns True for the given delta."""
+    matches = 0
+    for l in (delta.added, delta.removed, delta.kind_changed, delta.modified):
+        for item in l:
+            if filter(item[0], item[1]):
+                matches += 1
+    for item in delta.renamed:
+        if filter(item[0], item[2]) or filter(item[1], item[2]):
+            matches += 1
+    return matches
+
+
 def calculate_view_revisions(branch, start_revision, end_revision, direction,
                              specific_fileid, generate_merge_revisions,
-                             allow_single_merge_revision,
-                             _path_filter=None):
+                             allow_single_merge_revision):
     if (    not generate_merge_revisions
         and start_revision is end_revision is None
         and direction == 'reverse'



More information about the bazaar-commits mailing list