RE: How to update workspace with UPDATE and MERGE?

   From: Konstantin Knizhnik [mailto:KKnizhnik@togetherlab.com]

   1. How the user can update his private workspace: UPDATE method just
   replace all versions in my workspace with versions from the UPDATE
   source, MERGE method will handle conflicts and merge my changes with
   the latest versions but looks like it is not able to handle resource
   renaming and deletion  (unlike UPDATE). So I am confused how can I do
   something like "cvs update"?

The MERGE method applies the changes (the new versions) to the
"corresponding" VCR in your workspace (i.e. the VCR for the version
history containing the merge version).  The response to the merge
request tells your client what resources were changed, so you can
update any local state you are maintaining on your client.

In order for a MERGE to reproduce namespace operations (like rename
and deletion), your server needs to support version-controlled
collections or baselines.  In this case, renames and deletions will be
captured
as new collection versions or in new baselines, that adjust the namespace of
your
private workspace when they are merged into it.

   2. It seem to me to be very convenient to have something like
   <DAV:displaypath/> live property which contains URL of the
   correspondent version-controlled resource. It actually contains the
   same value as returned by <DAV:locate-by-history/> report.
   Why it is better to have it as property and not as report?

What resource will have this DAV:displaypath property?  It pretty much
has to be a version history resource.  But the displaypath for a given
version history will vary from workspace to workspace, which is why a
report is required.  You have to say what workspace you are interested
in.

   For example, I can use PROPFIND method with Label header to extract
   some configuration of the project marked with specified label.   I
   can do it with one WebDAV request by specifying Infinite depth.

Labels do not capture namespace information.  If you want to capture
the state of a project, including the relative names, you need to
use the baseline feature.

   3. Is there some plan to support sending deltas instead of complete
   resource body by PUT/GET methods?

See http://search.ietf.org/internet-drafts/draft-mogul-http-delta-10.txt

Cheers,
Geoff

Received on Friday, 26 October 2001 08:24:23 UTC