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

Re: svn commit: r909093 - in /subversion/trunk/subversion/libsvn_wc: adm_ops.c workqueue.c workqueue.h

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Thu, 18 Feb 2010 14:06:46 +0000

"Bert Huijben" <bert_at_qqmail.nl> writes:

>> One other thing that worries me is that mark_tree_deleted seems to
>> doing deletes without doing the loggy/workqueue stuff. If I delete a
>> replaced file svn_wc_delete4 sets up a workqueue item to handle the
>> text-bases. However if I delete a directory containing a replaced
>> file it handles the file with a simple call to entry_modify2--that
>> can't be right. It's not a new bug, it pre-dates wc-ng, but it means
>> that the entry_modify2 calls in mark_tree_deleted cannot simply be
>> replaced by svn_wc__db_temp_op_delete, we need to setup wq items in
>> some cases.
> In WC-1.0 we left old administrative data in a lot of code paths... (not
> just a few :( ) and in most cases we fix this on adding.
> (Talk about broken behavior...)

In this case it's a real bug that breaks the working copy.

          svn rm wc/A/B/f
          svn cp wc/g wc/A/B/f
          svn rm --force wc/A # doesn't update text-base
          svn revert -R wc/A
          echo 123 >> wc/A/B/f
          svn ci wc # fails with checksum error

> In the final version of WC-NG we don't need most of these operations any
> more.
> * Properties: In DB only. Handled directly. No loggy operation necessary
> * Pristines: Not associated with a single file. No need to remove it in the
> general case. (Maybe schedule a cleanup check as wq item?)
> Where the old code 'happens to work' in the intermediate state I wouldn't
> try to solve it cleanly for the period until we have the pristines working.
> (All that work will have to go to /dev/null before 1.7)

Yes, a lot of it gets easier when properties are in the db and
pristines are just a checksum. But mark_tree_deleted will still need
to update the properties and the checksum, and at present it doesn't
do it.

Received on 2010-02-18 15:07:56 CET

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