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

Re: svn commit: r26396 - in trunk/subversion: include libsvn_wc

From: Eric Gillespie <epg_at_google.com>
Date: 2007-08-31 02:47:51 CEST

dionisos@tigris.org writes:

> * subversion/include/svn_wc.h
> * subversion/libsvn_wc/adm_crawler.c
> (svn_wc_transmit_prop_deltas): No longer leave a temp file behind.
> Also implement in terms of svn_wc_get_prop_diffs().

I'm a little concerned about this. svn_client_copy depends on
having these "tempfiles" (in fact, future prop- and text- bases)
returned so it can remove them. This is to avoid this:

1. edit foo.c
2. svn cp . $URL/snapshot (leaving behind future base)
3. edit foo.c again
4. svn ci (installs the base from 2)

This, of course, leaves you with a corrupt base file. I know
about this because gvn (which effectively does svn cp . $URL to
snapshot a changebranch) was *not* removing the future base for a
long time. It took me a long time to figure out why we some
times ended up with corrupt text-bases.

Anyway, I still haven't tested prop-bases. As far as I can tell,
we'll have the exact same problem with them after this change.
Looking at client/commit_util.c:do_item_commit and
copy.c:wc_to_repos_copy, this seems to be the case: the future
prop base is saved in the tempfiles hash by the former, and the
latter removes all files in the hash.

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 31 02:45:18 2007

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