On Thu, Mar 20, 2008 at 10:11 AM, Alberto Gimeno <gimenete_at_gmail.com> wrote:
>
> When I need to store a tree structure in a database I use this
> approach: http://www.sitepoint.com/article/hierarchical-data-database/2
> The problem is that the table has to be rebuild when new nodes are
> inserted. Because the two columns that store the information used to
> place the nodes need to be recalculated.
>
> I'm trying to know which approach they use in TortoiseSVN.
> Here (http://tortoisesvn.tigris.org/tsvn_1.5_releasenotes.html) they
> only talk about "TortoiseSVN 1.5 can cache the log entries on the
> local drive".
> And here (http://issues.tortoisesvn.net/?do=details&task_id=45) they
> just talk about "log cache data structures" but they don't explain
> wich kind of data structures they use and how they save them in the
> local machine.
>
> I'm going to continue investigating.
Something to keep in mind is that for it to work properly, you might
need to recreate the DAG qualities of the SVN repository. For
example, a file you are looking at for history may have been moved at
some point in its history and so it is not as simple as querying based
on path. As a simple example, the project folder in the repository
for our core plugin used to be called "core" and now it is
"org.tigris.subversion.subclipse.core".
We ran into this as a problem in Subversion itself and the usage of
SQLite to store merge tracking information. There were some real
problems that were going to exist if we did not figure out a way to
recreate the DAG features in SQLite. As it turned out we were lucky
and after some careful analysis realized we did not need SQLite at all
and could just answer the queries directly from the repository.
--
Thanks
Mark Phippard
http://markphip.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subclipse.tigris.org
For additional commands, e-mail: dev-help_at_subclipse.tigris.org
Received on 2008-03-20 21:47:31 CET