1643
1643
output. An unversioned file is defined as one with (False, False)
1644
1644
for the versioned pair.
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,
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,
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)),)
1957
1957
return ((entry[0][2], (old_path, None), True,
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
2029
result = (result[0],
2030
((utf8_decode(result[1][0])[0]),
2031
utf8_decode(result[1][1])[0]),) + result[2:]
2030
(utf8_decode_or_none(result[1][0]),
2031
utf8_decode_or_none(result[1][1])),
2035
(utf8_decode_or_none(result[5][0]),
2036
utf8_decode_or_none(result[5][1])),
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),
2039
(None, splitpath(current_root_unicode)[-1]),
2040
(None, root_dir_info[2]), (None, new_executable))
2045
(None, current_root_unicode),
2049
(None, splitpath(current_root_unicode)[-1]),
2050
(None, root_dir_info[2]),
2051
(None, new_executable)
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
2115
result = (result[0],
2116
((utf8_decode(result[1][0])[0]),
2117
utf8_decode(result[1][1])[0]),) + result[2:]
2128
(utf8_decode_or_none(result[1][0]),
2129
utf8_decode_or_none(result[1][1])),
2133
(utf8_decode_or_none(result[5][0]),
2134
utf8_decode_or_none(result[5][1])),
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
2165
result = (result[0],
2166
((utf8_decode(result[1][0])[0]),
2167
utf8_decode(result[1][1])[0]),) + result[2:]
2185
(utf8_decode_or_none(result[1][0]),
2186
utf8_decode_or_none(result[1][1])),
2190
(utf8_decode_or_none(result[5][0]),
2191
utf8_decode_or_none(result[5][1])),
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
2190
result = (result[0],
2191
((utf8_decode(result[1][0])[0]),
2192
utf8_decode(result[1][1])[0]),) + result[2:]
2217
(utf8_decode_or_none(result[1][0]),
2218
utf8_decode_or_none(result[1][1])),
2222
(utf8_decode_or_none(result[5][0]),
2223
utf8_decode_or_none(result[5][1])),
2194
2227
advance_path = False
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
2209
result = (result[0],
2210
((utf8_decode(result[1][0])[0]),
2211
utf8_decode(result[1][1])[0]),) + result[2:]
2243
(utf8_decode_or_none(result[1][0]),
2244
utf8_decode_or_none(result[1][1])),
2248
(utf8_decode_or_none(result[5][0]),
2249
utf8_decode_or_none(result[5][1])),
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:
2230
(None, utf8_decode(current_path_info[0])[0]),
2270
(None, utf8_decode_or_none(current_path_info[0])),
2232
2272
(False, False),
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