Brian Denny <brian@briandenny.net> writes:
> First, you should review the thread at
> http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgId=246816
>
> so i don't have to repeat it here. In the first post to that thread,
> I gave two ideas for fixing #1075.
Okay, I've read the thread.
> the crux of idea (1) was, if a path in the source txn was "missing",
> then the editor should always generate a delta -- delete it if it's
> absent in the target tree, add/restore it if it's present. The
> add/restore case already works; my job is to fix the delete case.
Unfortunately, this is just a really nasty change to the delta
driver. The whole point of the delta driver is that is supposed to
tell you the differences between two trees -- and only the
differences.
> the basic difficulty with implementing this idea is: how do you tell
> that a path in the source transaction was missing, as opposed to
> simply absent?
This is indeed a tricky problem. But have you considered solution 3:
Don't change our reporter, and don't change the delta driver.
Instead, after the update is completed (or perhaps during the update,
wherever it's both safe and efficient to do so), check the working
copy for items that *should* have been restored, but are instead still
"missing". If no errors occurred in the update, you can deduce that
those items are still missing because they also didn't exist in the
update-to revision. In which case, you can just remove them from the
working copy yourself.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Apr 25 21:31:03 2003