cmpilato@collab.net writes:
> But it's also (obviously) not enough to solve the problem. In the
> recipe, the working copy is missing something that has also been
> deleted in the repository since the last time the client updated. Of
> course, the client doesn't know this. It just knows that it's missing
> something. So, when updating, the client builds this transaction that
> looks like the working copy, calling reporter->delete_path() on the
> missing item. Now there is a transaction with absolutely no reference
> to this missing thing. That is diffed against a pristine revision
> which, again, has absolutely no reference to that missing path,
> because in that revision, that path no longer exists. Obviously, if
> you diff two trees that are both missing the same thing, there is no
> diff output regarding that thing.
Remember that we're already using this post-update technique for
'deleted' items. After the client finishes applying the tree delta to
the working copy, it looks for 'deleted' items -- if any exist, the
logic is "huh... well the server didn't re-add them, I guess they're
really supposed to be gone for good, then."
All we're doing now is extending that same idea to 'missing items':
"if the server didn't re-add them, then they're really supposed to be
gone for good." It seems like a perfectly consistent strategy to me.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue May 6 16:56:57 2003