/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 bzrlib/workingtree_4.py

  • Committer: John Arbash Meinel
  • Date: 2007-03-16 19:13:40 UTC
  • mto: This revision was merged to the branch mainline in revision 2363.
  • Revision ID: john@arbash-meinel.com-20070316191340-pddd21esqtzr35zp
Change utf8_decode_with_None to return what we care about.
Re-use utf8_decode_with_None in the outer loop to avoid decoding in the inner
process_entry
Change the name of the local variable, to make it clear what we are doing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1643
1643
            output. An unversioned file is defined as one with (False, False)
1644
1644
            for the versioned pair.
1645
1645
        """
1646
 
        utf8_decode = cache_utf8._utf8_decode_with_None
 
1646
        utf8_decode_or_none = cache_utf8._utf8_decode_with_None
1647
1647
        _minikind_to_kind = dirstate.DirState._minikind_to_kind
1648
1648
        # NB: show_status depends on being able to pass in non-versioned files
1649
1649
        # and report them as unknown
1913
1913
                return ((entry[0][2], (old_path, path), content_change,
1914
1914
                        (True, True),
1915
1915
                        (source_parent_id, target_parent_id),
1916
 
                        (utf8_decode(old_basename)[0], utf8_decode(entry[0][1])[0]),
 
1916
                        (old_basename, entry[0][1]),
1917
1917
                        (_minikind_to_kind[source_minikind], target_kind),
1918
1918
                        (source_exec, target_exec)),)
1919
1919
            elif source_minikind in 'a' and target_minikind in 'fdlt':
1937
1937
                    return ((entry[0][2], (None, path), True,
1938
1938
                            (False, True),
1939
1939
                            (None, parent_id),
1940
 
                            (None, utf8_decode(entry[0][1])[0]),
 
1940
                            (None, entry[0][1]),
1941
1941
                            (None, path_info[2]),
1942
1942
                            (None, target_exec)),)
1943
1943
                else:
1957
1957
                return ((entry[0][2], (old_path, None), True,
1958
1958
                        (True, False),
1959
1959
                        (parent_id, None),
1960
 
                        (utf8_decode(entry[0][1])[0], None),
 
1960
                        (entry[0][1], None),
1961
1961
                        (_minikind_to_kind[source_minikind], None),
1962
1962
                        (source_details[3], None)),)
1963
1963
            elif source_minikind in 'fdlt' and target_minikind in 'r':
2026
2026
                        or result[6][0] != result[6][1] # kind
2027
2027
                        or result[7][0] != result[7][1] # executable
2028
2028
                        ):
2029
 
                        result = (result[0],
2030
 
                            ((utf8_decode(result[1][0])[0]),
2031
 
                             utf8_decode(result[1][1])[0]),) + result[2:]
2032
 
                        yield result
 
2029
                        yield (result[0],
 
2030
                               (utf8_decode_or_none(result[1][0]),
 
2031
                                utf8_decode_or_none(result[1][1])),
 
2032
                               result[2],
 
2033
                               result[3],
 
2034
                               result[4],
 
2035
                               (utf8_decode_or_none(result[5][0]),
 
2036
                                utf8_decode_or_none(result[5][1])),
 
2037
                               result[6],
 
2038
                               result[7],
 
2039
                              )
2033
2040
            if want_unversioned and not path_handled and root_dir_info:
2034
2041
                new_executable = bool(
2035
2042
                    stat.S_ISREG(root_dir_info[3].st_mode)
2036
2043
                    and stat.S_IEXEC & root_dir_info[3].st_mode)
2037
 
                yield (None, (None, current_root_unicode), True, (False, False),
2038
 
                    (None, None),
2039
 
                    (None, splitpath(current_root_unicode)[-1]),
2040
 
                    (None, root_dir_info[2]), (None, new_executable))
 
2044
                yield (None,
 
2045
                       (None, current_root_unicode),
 
2046
                       True,
 
2047
                       (False, False),
 
2048
                       (None, None),
 
2049
                       (None, splitpath(current_root_unicode)[-1]),
 
2050
                       (None, root_dir_info[2]),
 
2051
                       (None, new_executable)
 
2052
                      )
2041
2053
            initial_key = (current_root, '', '')
2042
2054
            block_index, _ = state._find_block_index_from_key(initial_key)
2043
2055
            if block_index == 0:
2112
2124
                                    or result[6][0] != result[6][1] # kind
2113
2125
                                    or result[7][0] != result[7][1] # executable
2114
2126
                                    ):
2115
 
                                    result = (result[0],
2116
 
                                        ((utf8_decode(result[1][0])[0]),
2117
 
                                         utf8_decode(result[1][1])[0]),) + result[2:]
2118
 
                                    yield result
 
2127
                                    yield (result[0],
 
2128
                                           (utf8_decode_or_none(result[1][0]),
 
2129
                                            utf8_decode_or_none(result[1][1])),
 
2130
                                           result[2],
 
2131
                                           result[3],
 
2132
                                           result[4],
 
2133
                                           (utf8_decode_or_none(result[5][0]),
 
2134
                                            utf8_decode_or_none(result[5][1])),
 
2135
                                           result[6],
 
2136
                                           result[7],
 
2137
                                          )
2119
2138
                        block_index +=1
2120
2139
                        if (block_index < len(state._dirblocks) and
2121
2140
                            osutils.is_inside(current_root,
2162
2181
                                or result[6][0] != result[6][1] # kind
2163
2182
                                or result[7][0] != result[7][1] # executable
2164
2183
                                ):
2165
 
                                result = (result[0],
2166
 
                                    ((utf8_decode(result[1][0])[0]),
2167
 
                                     utf8_decode(result[1][1])[0]),) + result[2:]
2168
 
                                yield result
 
2184
                                yield (result[0],
 
2185
                                       (utf8_decode_or_none(result[1][0]),
 
2186
                                        utf8_decode_or_none(result[1][1])),
 
2187
                                       result[2],
 
2188
                                       result[3],
 
2189
                                       result[4],
 
2190
                                       (utf8_decode_or_none(result[5][0]),
 
2191
                                        utf8_decode_or_none(result[5][1])),
 
2192
                                       result[6],
 
2193
                                       result[7],
 
2194
                                      )
2169
2195
                    elif current_entry[0][1] != current_path_info[1]:
2170
2196
                        if current_path_info[1] < current_entry[0][1]:
2171
2197
                            # extra file on disk: pass for now, but only
2187
2213
                                    or result[6][0] != result[6][1] # kind
2188
2214
                                    or result[7][0] != result[7][1] # executable
2189
2215
                                    ):
2190
 
                                    result = (result[0],
2191
 
                                        ((utf8_decode(result[1][0])[0]),
2192
 
                                         utf8_decode(result[1][1])[0]),) + result[2:]
2193
 
                                    yield result
 
2216
                                    yield (result[0],
 
2217
                                           (utf8_decode_or_none(result[1][0]),
 
2218
                                            utf8_decode_or_none(result[1][1])),
 
2219
                                           result[2],
 
2220
                                           result[3],
 
2221
                                           result[4],
 
2222
                                           (utf8_decode_or_none(result[5][0]),
 
2223
                                            utf8_decode_or_none(result[5][1])),
 
2224
                                           result[6],
 
2225
                                           result[7],
 
2226
                                          )
2194
2227
                            advance_path = False
2195
2228
                    else:
2196
2229
                        for result in _process_entry(current_entry, current_path_info):
2206
2239
                                or result[6][0] != result[6][1] # kind
2207
2240
                                or result[7][0] != result[7][1] # executable
2208
2241
                                ):
2209
 
                                result = (result[0],
2210
 
                                    ((utf8_decode(result[1][0])[0]),
2211
 
                                     utf8_decode(result[1][1])[0]),) + result[2:]
2212
 
                                yield result
 
2242
                                yield (result[0],
 
2243
                                       (utf8_decode_or_none(result[1][0]),
 
2244
                                        utf8_decode_or_none(result[1][1])),
 
2245
                                       result[2],
 
2246
                                       result[3],
 
2247
                                       result[4],
 
2248
                                       (utf8_decode_or_none(result[5][0]),
 
2249
                                        utf8_decode_or_none(result[5][1])),
 
2250
                                       result[6],
 
2251
                                       result[7],
 
2252
                                      )
2213
2253
                    if advance_entry and current_entry is not None:
2214
2254
                        entry_index += 1
2215
2255
                        if entry_index < len(current_block[1]):
2227
2267
                                    and stat.S_IEXEC & current_path_info[3].st_mode)
2228
2268
                                if want_unversioned:
2229
2269
                                    yield (None,
2230
 
                                        (None, utf8_decode(current_path_info[0])[0]),
 
2270
                                        (None, utf8_decode_or_none(current_path_info[0])),
2231
2271
                                        True,
2232
2272
                                        (False, False),
2233
2273
                                        (None, None),
2234
 
                                        (None, utf8_decode(current_path_info[1])[0]),
 
2274
                                        (None, utf8_decode_or_none(current_path_info[1])),
2235
2275
                                        (None, current_path_info[2]),
2236
2276
                                        (None, new_executable))
2237
2277
                            # dont descend into this unversioned path if it is