Suppose I have a checkout containing a versioned directory A that contains a child A/f. If I delete A the status shows:
$ svn st D A D A/f If I now copy some other directory to replace A and the copied directory also has a child f, then status shows: $ svn st R + A That looks correct to me, the replacement hides the deleted child. If the copied directory also contains a child g and I delete it within the copy, then status shows $ svn st R + A D A/g which also looks correct. However if the copied directory does not contain a child f then the status of the deleted A/f shows through after the replacement: $ svn st R + A D A/f and if I delete the copied child g then status shows: $ svn st R + A D A/f D A/g I think both of those are wrong, the deleted A/f should be hidden by the replacement. The delete of A/f is fundamentally different to the delete of A/g. On commit the client will delete A, copy the replacement and delete A/g; it won't delete A/f. Anybody want to agree or disagree? -- Philip

