Hi,
I find some condition tests in libsvn_wc code base like this:
(! entry->deleted || (entry->schedule == svn_wc_schedule_add))
This kind of code appears in relocate.c and entries.c etc. Reading the code, I
think it is used to catch a situation of both the excluded and add/replace
schedule being set up for a single entry. This sounds reasonable since the
user may remove an existing item and introduce a new one with a same name.
However, all my attempts to produce a sample of this situation end up as
failures. Copy/Move will clean the deleted flag and add will refuse to proceed
if the target is deleted. So, is this a historical code and the combination of
these two flags is prohibited now?
(PS: I found a small corner case during my little experiments. Remove a directory
A; commit A; Copy some B into A; revert A and finally update the whole tree
and you'll get a error talking about A is not under version control. A second
update attempt will make things back to normal. Nothing harmful will happen.)
Another small question: When will the svn_wc_schedule_replace flag being used?
I remember seeing add rather than replace all the time.
Thanks,
Rui
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-15 15:48:05 CEST