Handling filesystem/inventory conflicts in TreeTransform

Aaron Bentley aaron.bentley at utoronto.ca
Tue Feb 14 18:02:32 GMT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Tree Transform makes a pretty big distinction between
filesystem/inventory conflicts and merge conflicts.

A filesystem/inventory conflict is a request to perform an operation
that is illegal according to POSIX or the Inventory contract.

Here are some examples:
- - Adding a file to a deleted directory
- - Deleting a directory without deleting its files, first
- - Versioning a file in an unversioned directory
- - Making a directory into its own parent directory
- - Creating a file on top of another file

By contrast, merge conflicts indicate that two trees did
textually-incompatible things.  E.g. One tree modified a file, and the
other tree deleted it.

Tree Transform will resolve filesystem/inventory conflicts, or die
trying.  (If it does die trying, the directory will be unaltered.)

So often, there's not necessarily anything for the user to do.

So
1. Should we require the user to resolve these? (there's often nothing
to do)
2. Should we consider these to be conflicts at all?
3. If they're conflicts, should bzr conflicts list them?
4. If they're not conflicts, should we produce a nonzero exit code?
5. If they're not conflicts, how should we notify the user that we've
resolved them?

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFD8hs40F+nu1YWqI0RAiYtAJ93w2c8MwORkHCg1MXYTeTUxhCfyQCdFNLd
VgJT4LjHtUzbKqNTtneXk/4=
=Je9s
-----END PGP SIGNATURE-----




More information about the bazaar mailing list