[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: mergeinfo db not updated for svn:mergeinfo props copied under a copied directory

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: 2007-11-28 20:15:12 CET

David Glasser wrote:
> [Nothing in this post is about pre-1.5 compatibility!]
>
> Summary: Given /foo/{trunk,tags,branches} with lots of mergeinfo on
> the trunk and branches, if you do "cp url://to/foo url://to/bar", you
> will now have /bar/{trunk,tags,branches} with svn:mergeinfo properties
> but the sqlite db will not know about it.
>
> This leads to cases where "svn mergeinfo ." and "svn mergeinfo
> $URL_FOR_CURRENT_DIRECTORY" return different values even if the
> directory is up to date with no local mods. Presumably this is bad.

Oh, it's bad.

The yucky part is the thought that we'd need to recursively crawl the whole
copy target to find mergeinfo to duplicate.

I dunno the mergeinfo schema, but it'd be nice if we had an API to select
all the mergeinfo for paths in and under /foo, and then duplicate those as
mergeinfo for paths in and under /bar (svn_fs_mergeinfo__deep_copy?).

But what about some variations on this? What happens if you copy /foo to
/bar (in your situation) and delete /bar/branches at the same time? Now
you're shortcutted deep copy will leave mergeinfo in the index for paths
that don't even exist any more.

-- 
C. Michael Pilato <cmpilato@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on Wed Nov 28 20:15:25 2007

This is an archived mail posted to the Subversion Dev mailing list.