Re: draft-toomim-httpbis-versions HTTP mapping (and WebDAV Versioning)

On 2/4/25 11:53 PM, Julian Reschke wrote:
> On 05.02.2025 01:53, Michael Toomim wrote:
>> Julian, I think I see the root of our disagreement. I think we have been
>> assuming different mental models. Let me know if I'm getting this right:
>>
>> 1. In your model, each "Resource" has a set of "Version Resources", in a
>> *one-to-many* mapping, like this:
>>
>>     - https://foo.com/hello.txt <-- Resource
>>        - https://foo.com/hello.txt.1 <-- Version 1 of Resource
>>        - https://foo.com/hello.txt.2 <-- Version 2 of Resource
>>        - https://foo.com/hello.txt.3 <-- Version 3 of Resource
>>        - https://foo.com/hello.txt.4 <-- Version 4 of Resource
>> ...
>
> That is not true.

What is not true? Can you elaborate?

> Your two options apparently, apart how things are identified, describe
> the difference between systems that only support linear version
> histories, and those that allow branches and merges.

No, nothing in those two options is about linear vs. branching history. 
I understand that WebDAV supports branching history.

Perhaps you are focusing on the fact that my Option 1 example only 
showed linear history? Here's an example of branching history that also 
is an Option 1 example:

    -https://foo.com/hello.txt  <-- Resource
        -https://foo.com/hello.txt^alice-0         <-- Version alice-0 of Resource
        -https://foo.com/hello.txt^alice-1         <-- Version alice-1 of Resource
        -https://foo.com/hello.txt^bob-0           <-- Version bob-0 of Resource
        -https://foo.com/hello.txt^bob-1           <-- Version bob-1 of Resource
        -https://foo.com/hello.txt^alice-1,bob-0   <-- Version bob-1 of Resource

The difference between Option 1 and Option 2 has nothing to do with the 
shape of time (linear vs. DAG). It has to do with the relationship 
between Resources and Versions.

> WebDAV Versioning allows the latter as well.
>
> So as far as I can tell the main point of disagreement is whether
> versions have URIs.

That is downstream of deciding on the relationship between Resources and 
Versions. Versions can only have URIs if we assume that each Version 
maps to only one Resource, like in WebDAV. If we allow a many-to-many 
mapping, like in draft-toomim-httpbis-versions, then there is no 
sensible URI to choose for a Version. That is the thesis of the email I 
just sent. I hope I can succeed in communicating it.

Thank you!

Michael

Received on Wednesday, 5 February 2025 08:25:02 UTC