Julian Foad <julian.f...@wandisco.com> writes: > On Thu, 2011-02-10, Philip Martin wrote: >> There has been a behaviour change reverting copied directories between >> 1.6 and the current 1.7. >> >> In 1.7 the depth of the revert must match the depth of the copy, so if >> the directory only has files it can be reverted using depth=files, if >> the directory has empty immediate subdirs it can be reverted using >> depth=immediates, and if the directory has subdirs with children >> depth=infinity must be used. That seems straightforward. >> >> In 1.6 it is a bit different, the revert depth doesn't need to be as >> deep as the copy. A copied directory that only contains files can be >> reverted using depth=empty, and a directory that has subdirs containing >> only files can be reverted using depth=immediates. > > When you say "can be reverted", I assume you mean that 1.6 removes the > directory and all its contents, the same as if depth=infinity had been > specified. (I can't think of any sane behaviour that would affect less > than the actual depth when reverting a copy.)
depth=empty locks the dir and allows revert if there are no subdirs, depth=immediates locks immediate subdirs and allows revert if there are no sub-subdirs. > If so, I'd say that's an off-by-one bug in 1.6's depth comparison, and > the 1.7 behaviour is correct. 1.6 just uses the locks rather than a depth comparison, and that does make 1.6 look like the one that is wrong. -- Philip