You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by David Glasser <gl...@davidglasser.net> on 2007/11/28 19:02:53 UTC
mergeinfo db not updated for svn:mergeinfo props copied under a copied directory
[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.
Reproduction recipe attached.
--dave
--
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
Re: mergeinfo db not updated for svn:mergeinfo props copied under
a copied directory
Posted by "C. Michael Pilato" <cm...@collab.net>.
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 <cm...@collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Re: mergeinfo db not updated for svn:mergeinfo props copied under a copied directory
Posted by David Glasser <gl...@davidglasser.net>.
On Nov 28, 2007 11:02 AM, David Glasser <gl...@davidglasser.net> 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.
>
> Reproduction recipe attached.
On another thread, I came to the conclusion that (given extra in-FS
annotations), supporting deep copies would not be too hard. Neither
would supporting deletions... except that the current schema has no
way to represent any kind of deletion, which is a problem.
--dave
--
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org