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

Re: Pristine store - using it

From: Julian Foad <julian.foad_at_wandisco.com>
Date: Fri, 05 Mar 2010 15:22:33 +0000

I (Julian Foad) wrote:
[...]
> I've converted svn_wc__open_writable_base() to use a generic temp dir
> and unique file name, rather than a WC-1-specific path, and made all
> three places use it for their WC-1 temp base file, it all still works.
>
> OK, that bit works. That's a bit neater. Committed in r919413.

A problem:

In doing this, I made the temporary text-bases live at arbitrary paths
rather than the special paths where they lived before.

There is still one code path that looks on disk at the special text-base
temp path, to see if there is a file there. After this change, there
probably won't ever be. The code path is in
workqueue.c:install_committed_file() - see it calling
svn_wc__text_base_path(..., tmp=TRUE, ...) to find the special path.

There is still one code path that *puts* a file at that special place.
It is adm_crawler.c:svn_wc__internal_transmit_text_deltas().

I'm looking to see whether this is a real problem. It's remotely
possible that the two remaining code paths (above) always go together
and thus no problem, but that's unlikely. As the code paths are a little
hard to follow, I may just end up assuming that there is a problem, and
go on to fix it.

My first thought on how to solve it is to somehow communicate the info
that install_committed_file() needs in another way.

(And, for completeness, change svn_wc__internal_transmit_text_deltas()
to use an arbitrary path, and delete the "tmp=TRUE" option of
svn_wc__text_base_path().)

- Julian
Received on 2010-03-05 16:23:07 CET

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