Hi Daniel,

On Tue, Jun 22, 2010 at 08:50:33PM +0300, Daniel Shahaf wrote:
> http://subversion.tigris.org/issues/show_bug.cgi?id=3641
> 
> Briefly, the issue is that when svnsync encounters the following history:
>     ------------------------------------------------------------------------
>     r5 | pm | 2010-05-18 17:53:46 +0100 (Tue, 18 May 2010)
>     Changed paths:
>        A /H (from /A:4)
>        R /H/B (from /X:4)
>     ------------------------------------------------------------------------
>     r3 | pm | 2010-05-18 17:53:46 +0100 (Tue, 18 May 2010)
>     Changed paths:
>        A /A/B/C
>     ------------------------------------------------------------------------
> it looks for /H/B/C in the sync source when trying to replay r5.
> 
> I've attached a patch (with log msg) that seems to have some positive
> effects: it causes the sync to pass (and properly add children of /X as
> children of /H/B).
> 
> I'm asking for review for two reasons:
> 
> * authz.  The whole function is authz-sensitive --- its goal is to
>   represent a copy as an add.  I think the patch is okay from this
>   angle, but a second pair of eyes wouldn't hurt.
> 
> * assertions.  The patch asserts that svn_fs_path_change2_t->copyfrom_known 
>   is TRUE.  However, the FS API used --- svn_fs_paths_changed2() ---
>   does not guarantee that copyfrom_known will in fact be TRUE, and
>   I haven't found a different API that does promise to provide the
>   copyfrom information.  (I think the patch only needs this information
>   for directory replaces.)

While I cannot comment on the above...

> Testing, analysis, reviews are welcome.

... I built a 1.6.11 Subversion with the patch and svnsync finished
syncing the affected repository. A quick comparison shows no evident
problems.

[...]

Thanks,

Tino.

-- 
"What we nourish flourishes." - "Was wir nähren erblüht."

www.tisc.de

Reply via email to