605
605
if name == last_name:
606
606
conflicts.append(('duplicate', last_trans_id, trans_id,
609
last_trans_id = trans_id
609
kind = self.final_kind(trans_id)
612
file_id = self.final_file_id(trans_id)
613
if kind is not None or file_id is not None:
615
last_trans_id = trans_id
612
618
def _duplicate_ids(self):
884
890
def build_tree(tree, wt):
885
891
"""Create working tree for a branch, using a Transaction."""
886
892
file_trans_id = {}
893
top_pb = bzrlib.ui.ui_factory.nested_progress_bar()
894
pp = ProgressPhase("Build phase", 2, top_pb)
887
895
tt = TreeTransform(wt)
889
898
file_trans_id[wt.get_root_id()] = tt.trans_id_tree_file_id(wt.get_root_id())
890
899
file_ids = topology_sorted_ids(tree)
891
for file_id in file_ids:
892
entry = tree.inventory[file_id]
893
if entry.parent_id is None:
895
if entry.parent_id not in file_trans_id:
896
raise repr(entry.parent_id)
897
parent_id = file_trans_id[entry.parent_id]
898
file_trans_id[file_id] = new_by_entry(tt, entry, parent_id, tree)
900
pb = bzrlib.ui.ui_factory.nested_progress_bar()
902
for num, file_id in enumerate(file_ids):
903
pb.update("Building tree", num, len(file_ids))
904
entry = tree.inventory[file_id]
905
if entry.parent_id is None:
907
if entry.parent_id not in file_trans_id:
908
raise repr(entry.parent_id)
909
parent_id = file_trans_id[entry.parent_id]
910
file_trans_id[file_id] = new_by_entry(tt, entry, parent_id,
903
920
def new_by_entry(tt, entry, parent_id, tree):
904
921
"""Create a new file according to its inventory entry"""
1081
1098
raw_conflicts = resolve_conflicts(tt, child_pb)
1083
1100
child_pb.finished()
1084
for conflict in cook_conflicts(raw_conflicts, tt):
1101
conflicts = cook_conflicts(raw_conflicts, tt)
1102
for conflict in conflicts:
1085
1103
warning(conflict)
1086
1104
pp.next_phase()