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.
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
Received on 2010-03-05 16:23:07 CET