Subject: binds and overwriting infinite-depth copies

From: "Tim Olsen" <[email-masked]>
Date: Tue, 16 Jan 2007 16:51:34 -0500

Consider the following case.  There exist the following URLs and the
resource's they are bound to:

/a/c/p - R1
/a/d/p - R2
/b/c/p - R3
/b/d/p - R3

/b/c and /b/d are different collections.

What should happen if I do a COPY /a /b  with overwrite set to true?
Should the new /b/c/p and /b/d/p still be the same resource?  Keep in
mind that R3 may be a VCR.

Thanks for the help,
Tim

---

From: Geoffrey M Clemm <[email-masked]>
Date: Wed, 17 Jan 2007 07:05:05 -0500

The spec does not give a definitive answer to this one.  You have three 
reasonable choices:

/b/c/p - R3
/b/d/p - R3
where R3 is a copy of R1

/b/c/p - R3
/b/d/p - R3 
where R3 is a copy of R2

/b/c/p - R4
/b/d/p - R5
where R4 is a copy of R1
where R5 is a copy of R2

I have a slight preference for the third choice, since it is symmetric and 
is more structurally equivalent to /b.
But I think it is reasonable for a server to do 1 or 3, in case it is 
expensive for it to detect this situation (so I think the spec should 
leave this up to the server).

Cheers,
Geoff

"Tim Olsen" <[email-masked]> 
Sent by: [email-masked]
01/16/2007 04:51 PM

To
[email-masked]
cc

Subject
binds and overwriting infinite-depth copies

/a/c/p - R1
/a/d/p - R2
/b/c/p - R3
/b/d/p - R3

Thanks for the help,
Tim

---

From: Geoffrey M Clemm <[email-masked]>
Date: Wed, 17 Jan 2007 07:20:29 -0500

It probably is easy to figure out, but below, I meant:
  "is more structurally equivalent to /a"
and
  "it is reasonable for the server to do 1 or 2".

Sorry for the poor proofreading on the original response!

Cheers,
Geoff

geoff wrote on 01/17/2007 07:05:05 AM:
> 
> The spec does not give a definitive answer to this one.  You have 
> three reasonable choices: 
> 
> /b/c/p - R3 
> /b/d/p - R3 
> where R3 is a copy of R1 
> 
> /b/c/p - R3 
> /b/d/p - R3 
> where R3 is a copy of R2 
> 
> /b/c/p - R4 
> /b/d/p - R5 
> where R4 is a copy of R1 
> where R5 is a copy of R2 
> 
> I have a slight preference for the third choice, since it is 
> symmetric and is more structurally equivalent to /b. 
> But I think it is reasonable for a server to do 1 or 3, in case it 
> is expensive for it to detect this situation (so I think the spec 
> should leave this up to the server).

---

From: "Tim Olsen" <[email-masked]>
Date: Wed, 17 Jan 2007 14:57:05 -0500

If I go with option 3 and R3 is a VCR, then R4 and R5 will not contain
the same version history any longer.  (See answer to this thread:
http://lists.w3.org/Archives/Public/ietf-dav-versioning/2006JulSep/0002.html)

Would this be a possible option?

/b/c/p - R3
/b/d/p - R4
where R3 is a copy of R1
where R4 is a copy of R2

This way the structure is similar to /a and one of the resources
carries on as R3

thanks,
Tim

---

From: Geoffrey M Clemm <[email-masked]>
Date: Wed, 17 Jan 2007 16:00:55 -0500

Your option (4) is fine with me.  Now that I think of it, this did come up 
a while ago, and at that time, I think we expressed a preference for 
options 1/2 (keep the destination structure, and "last copy wins").

But in my opinion, one could make a reasonable argument for any of the 4 
choices (so I'd code up whatever is easiest, unless you know for some 
reason that your clients would prefer one of those options).

Cheers,
Geoff

01/17/2007 02:57 PM

To
Geoffrey M Clemm/Lexington/IBM@IBMUS
cc
[email-masked]
Subject
Re: binds and overwriting infinite-depth copies

If I go with option 3 and R3 is a VCR, then R4 and R5 will not contain
the same version history any longer.  (See answer to this thread:
http://lists.w3.org/Archives/Public/ietf-dav-versioning/2006JulSep/0002.html
)

/b/c/p - R3
/b/d/p - R4
where R3 is a copy of R1
where R4 is a copy of R2

thanks,
Tim