Julian Foad <julian.foad_at_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
Received on 2011-02-11 11:41:30 CET