My concern with this solution is the separation of the permission metadata store from the files/directories object they cover. For example, in case of file renaming (or swapping), which is a common case for configuration files, you'd more than probably lose permission/ownership history.
I've thought of another option that might be simpler and more reusable:
bzr could implement add a generic <meta> text field for each InventoryEntry and two hook functions (get_meta_from_file/dir/link and set_meta_to_file/dir/link) to get this meta info (whatever it might be) and set it back to the real file/dir/link objects. For all functions it considers the files identical if the <meta> info (if any) matches.
This has been discussed before, see [1] or [2], as a way to extend bzr appropriateness for weird applications without going for a specific, non-portable set (owner/perms) or impacting normal bzr usage.
My concern with this solution is the separation of the permission metadata store from the files/directories object they cover. For example, in case of file renaming (or swapping), which is a common case for configuration files, you'd more than probably lose permission/ ownership history.
I've thought of another option that might be simpler and more reusable:
bzr could implement add a generic <meta> text field for each InventoryEntry and two hook functions (get_meta_ from_file/ dir/link and set_meta_ to_file/ dir/link) to get this meta info (whatever it might be) and set it back to the real file/dir/link objects. For all functions it considers the files identical if the <meta> info (if any) matches.
This has been discussed before, see [1] or [2], as a way to extend bzr appropriateness for weird applications without going for a specific, non-portable set (owner/perms) or impacting normal bzr usage.
[1] http:// thread. gmane.org/ gmane.comp. version- control. bazaar- ng.general/ 1245/focus= 1248 thread. gmane.org/ gmane.comp. version- control. bazaar- ng.general/ 1293/focus= 1299
[2] http://
This solution looks elegant but might imply deeper structural changes (addition of a tag in InventoryEntry) ?