On 07/05/2010 12:31 PM, Philip Martin wrote:
> switch_tests.py 21 is failing when I use serf although it passes when
> I use neon. The test involves a switch that fails because a directory
> to be added is obstructed by an unversioned directory. This causes
> the switch to fail and the test then fails because serf and neon do
> things in different orders. For two sibling directories neon calls:
> but serf calls:
> The add_directory calls add an incomplete directory that is made
> complete by the close_directory call. So if the second add_directory
> fails the status of the first directory added depends on which http
> library is in use.
> I am aware that there are ordering issues with serf, is this one of
> known ones?
I'm not exactly sure, but yes, I believe this is just such a Serf ordering
situation. My understanding is that update/switch/etc. fire off handlers
for property and file content fetches, and I think those handlers (which can
run in parallel, kinda) open or add directories (via the editor) on an
as-needed basis, making the actual call ordering somewhat difficult to predict.
> Also, when the add_directory call in libsvn_wc returns an error back
> to serf the switch doesn't immediately abort, it calls add_directory
> on the failing path two more times. Is this the way it's supposed to
That sounds wrong, but not altogether unbelievable if in fact three
different fetch handlers are each trying the add_directory() in turn and not
sharing the failures with each other.
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2010-07-13 19:29:58 CEST