/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/git/send.py

  • Committer: Breezy landing bot
  • Author(s): Jelmer Vernooij
  • Date: 2019-09-21 19:00:56 UTC
  • mfrom: (7358.16.4 tree-change-without-file-id)
  • Revision ID: breezy.the.bot@gmail.com-20190921190056-6ti43ngs2vpo8obd
Don't make TreeChange tuple-like objects anymore, so we can add and remove attributes as necessary.

Merged from https://code.launchpad.net/~jelmer/brz/tree-change-without-file-id/+merge/369484

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
            else:
81
81
                return None
82
82
        trees = (self.old_tree, self.new_tree)
83
 
        for (file_id, paths, changed_content, versioned, parent, name, kind,
84
 
             executable) in iterator:
 
83
        for change in iterator:
85
84
            # The root does not get diffed, and items with no known kind (that
86
85
            # is, missing) in both trees are skipped as well.
87
 
            if parent == (None, None) or kind == (None, None):
 
86
            if change.parent_id == (None, None) or change.kind == (None, None):
88
87
                continue
89
 
            path_encoded = (get_encoded_path(paths[0]),
90
 
                            get_encoded_path(paths[1]))
91
 
            present = ((kind[0] not in (None, 'directory')),
92
 
                       (kind[1] not in (None, 'directory')))
 
88
            path_encoded = (get_encoded_path(change.path[0]),
 
89
                            get_encoded_path(change.path[1]))
 
90
            present = ((change.kind[0] not in (None, 'directory')),
 
91
                       (change.kind[1] not in (None, 'directory')))
93
92
            if not present[0] and not present[1]:
94
93
                continue
95
 
            contents = (get_blob(present[0], trees[0], paths[0]),
96
 
                        get_blob(present[1], trees[1], paths[1]))
97
 
            renamed = (parent[0], name[0]) != (parent[1], name[1])
 
94
            contents = (get_blob(present[0], trees[0], change.path[0]),
 
95
                        get_blob(present[1], trees[1], change.path[1]))
 
96
            renamed = (change.parent_id[0], change.name[0]) != (change.parent_id[1], change.name[1])
98
97
            mode = (get_file_mode(trees[0], path_encoded[0],
99
 
                                  kind[0], executable[0]),
 
98
                                  change.kind[0], change.executable[0]),
100
99
                    get_file_mode(trees[1], path_encoded[1],
101
 
                                  kind[1], executable[1]))
 
100
                                  change.kind[1], change.executable[1]))
102
101
            write_blob_diff(self.to_file,
103
102
                            (path_encoded[0], mode[0], contents[0]),
104
103
                            (path_encoded[1], mode[1], contents[1]))
105
 
            has_changes |= (changed_content or renamed)
 
104
            has_changes |= (change.changed_content or renamed)
106
105
        return has_changes
107
106
 
108
107