tree transform is malformed ??
Aaron Bentley
abentley at aaronbentley.com
Mon May 1 13:02:55 BST 2006
Robert Collins wrote:
> On Mon, 2006-05-01 at 02:17 -0400, Aaron Bentley wrote:
>
>>
>>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.
>
>
> Ok. What will this do with the following scenario:
>
> Branch A has a dir 'foo' in the HEAD revision.
> Branch B is location at dir 'foo/bar' in the branch directory of branch
> A.
>
> 'bzr checkout' in the branch dir of branch A:
>
> $ls -a
> foo
> .bzr
>
> $ls -a foo
> bar
>
> $ls -a foo/bar
> .bzr
>
> $bzr checkout
>
> What I want this to do is to leave foo/bar in place and untouched.
I can't think of anything in the current codebase that will handle this
situation the way you want. If you implemented my suggestion, the
existing foo will be renamed to foo.moved when you checked out.
One way to do what you want would be to write a conflict resolver that
resolved creation of an existing directory by versioning the existing
directory, instead of by renaming the existing directory.
And what about creating existing files, then? I think it gets very DWIM
very fast.
Aaron
More information about the bazaar
mailing list