Rev 3621: Change bzrlib.diff.DiffTree.show_diff to skip entries missing in both trees. in http://people.ubuntu.com/~robertc/baz2.0/intertree.missing

Robert Collins robertc at robertcollins.net
Thu Aug 14 06:29:07 BST 2008


At http://people.ubuntu.com/~robertc/baz2.0/intertree.missing

------------------------------------------------------------
revno: 3621
revision-id: robertc at robertcollins.net-20080814052902-1e5a6qm37sqhs2ji
parent: robertc at robertcollins.net-20080813032119-09pl9q0t9gxng5t6
committer: Robert Collins <robertc at robertcollins.net>
branch nick: intertree.missing
timestamp: Thu 2008-08-14 15:29:02 +1000
message:
  Change bzrlib.diff.DiffTree.show_diff to skip entries missing in both trees.
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
=== modified file 'NEWS'
--- a/NEWS	2008-08-13 03:21:19 +0000
+++ b/NEWS	2008-08-14 05:29:02 +0000
@@ -46,6 +46,10 @@
 
   INTERNALS:
 
+    * ``bzrlib.diff.DiffTree.show_diff`` now skips changes where the kind
+      is unknown in both source and target.
+      (Robert Collins, Aaron Bentley)
+
 
 bzr 1.6rc1 2008-08-06
 ---------------------

=== modified file 'bzrlib/diff.py'
--- a/bzrlib/diff.py	2008-06-11 03:56:46 +0000
+++ b/bzrlib/diff.py	2008-08-14 05:29:02 +0000
@@ -874,7 +874,9 @@
                 return path.encode(self.path_encoding, "replace")
         for (file_id, paths, changed_content, versioned, parent, name, kind,
              executable) in sorted(iterator, key=changes_key):
-            if parent == (None, None):
+            # The root does not get diffed, and items with no known kind (that
+            # is, missing) in both trees are skipped as well.
+            if parent == (None, None) or kind == (None, None):
                 continue
             oldpath, newpath = paths
             oldpath_encoded = get_encoded_path(paths[0])




More information about the bazaar-commits mailing list