At 12:14 AM -0500 9/18/03, Leeuw van der, Tim wrote:
>Hiya,
>
>Is this still impossible, even with the new fs-history code that
>records all copies etc?
Well, what Ben said was "nearly impossible," by which he meant
"impossible without exhaustive search," or something like that: you
can do it, if you're willing to work hard enough (and can live with
thrashing your repository that hard, that long). But anyway, I don't
think the new fs-history code makes this substantially easier. There
were some changes you would formerly have missed, because they just
weren't recorded, and now you can include them, too, but the
fundamental problem is that you need to build up your own list of
"everything in the repository" and search it endlessly for "the thing
that points to this thing" in order to move forward in time along any
genealogy. That hasn't changed: we still record parents, not
children.
There was a script posted yesterday (here, I thought, but I can't
find it at the moment) that illustrates the problem. I think that
script only does a partial job (the tree of tags and branches, not
every single change for every single file and directory), but you can
see this logic I mention there quite clearly. The author even
includes a comment acknowledging the expense of this process
(something like "Yes, I know this is N**2...").
I think I've seen research into tree-reconnection algorithms that
reduce that, to something like n*ln(n), but it's still pretty scary
over a large repository.
--
-==-
Jack Repenning
CollabNet, Inc.
8000 Marina Boulevard, Suite 600
Brisbane, California 94005
o: 650.228.2562
c: 408.835-8090
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Sep 18 20:07:53 2003