tree transform is malformed ??
Aaron Bentley
abentley at aaronbentley.com
Mon May 1 07:17:56 BST 2006
Robert Collins wrote:
> On Mon, 2006-05-01 at 00:37 -0400, Aaron Bentley wrote:
> You've hit the nail on the head. That is indeed the case, because I
> hadn't properly cleaned the tree.
>
> So, conflict wise, how about the checkout does a merge from the Tree on
> disk to the RevisionTree being constructed ?
Merge only has an effect on versioned files, not unversioned ones. Are
you proposing that checkout should work when there's already an existing
checkout on disk? Because that sounds more like 'update' than
'checkout' to me.
If you're not proposing permitting checkouts in trees with versioned
files, then merge will do nothing different from build_tree, except for
conflict resolution. But it's far simpler to just change build_tree to
do conflict resolution. It also means you don't have to handle
conflicts that build_tree can never produce. Here's the relevant
section from revert():
child_pb = bzrlib.ui.ui_factory.nested_progress_bar()
try:
raw_conflicts = resolve_conflicts(tt, child_pb)
finally:
child_pb.finished()
conflicts = cook_conflicts(raw_conflicts, tt)
for conflict in conflicts:
warning(conflict)
The meat is: call resolve_conflicts(), to resolve the conflicts and get
a list of the raw conflicts that were encountered, and the resolutions
done. Call cook_conflicts to get a list of Conflict objects, which can
be converted to strings and/or saved in the the working tree. Emit the
conflicts as warnings.
Aaron
More information about the bazaar
mailing list