Hi TC fans, I've been digging into diff again, aiming at that missing tree-conflict detection: 'Incoming delete of a folder will also delete a folder that locally differs from what was originally deleted.'
I'm facing this question; Obviously we want to enforce this rule: 1. An incoming delete of a folder is a tree-conflict when it would delete a folder structure that is different from what was originally deleted. But, it is thinkable that the BASE of the working copy was different from the incoming delete, and that there were local changes made so that it now looks exactly the same as the incoming delete. In that case the incoming delete would discard all local changes. Technically, no content would be lost, since the exact same content exists in the repos, i.e. just before the incoming delete. But it's in principle not very nice to do that. Currently, I think we have this rule implemented: 2. An incoming delete of a folder is a tree-conflict when there are *uncommitted changes* anywhere in that folder in the working copy. This is a tree-conflict even if the WC's local modifications yield a structure and content identical to the structure and content that the incoming delete originally deleted. Do you agree that we should keep rule 2 in place? (That would imply that we don't need WORKING to check for differences. When we know there are no mods, we can diff *BASE* against the URL. We'd still need diff_wc_url-summarize, since it could be a mixed-revision WC. I'm currently busy checking validity of diff_wc_url, with the intention of eventually implementing --summarize for diff_wc_url, as I had once started to do back in the days.) Thanks, ~Neels
signature.asc
Description: OpenPGP digital signature