-
Notifications
You must be signed in to change notification settings - Fork 176
/
compatibility.txt
86 lines (58 loc) · 2.45 KB
/
compatibility.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
NOTES ON VERSION COMPATIBILITY
This file attempts to document the compatibility issues between
different Subversion clients and servers. More specifically, where we
want to change our (WebDAV) protocol usage in an incomptabile way, and
our stepwise plan towards rolling out that change.
BINARY PROPERTIES
=================
Change: to signify that a property is binary, we will add an attribute
onto the property element that specifies its encoding (base64
or standard XML entity escaping).
Problem: old clients and servers will not be looking for this
attribute, and will not decode the contents appropriately.
The current plan from issue 1015:
---------------
Okay, I've decided to propagate this functionality in three stages,
with a couple of milestones between each stage:
(1) server and client learn to recognize and handle the new
'V:encoding' attribute on properties. at this point, no binary
properties will actually be coming across the ra-dav wire. (0.20
milestone)
(2) server starts to transmit non-XML-safe properties with the
'V:encoding="base64"' attribute and the property value
base64-encoded. during this interim period, clients will be to get
binary properties from the server, but will not be able to commit
new or modified binary properties. (0.21 milestone)
(3) clients starts to transmit non-XML-safe properties with the
'V:encoding="base64"' attribute and the property value
base64-encoded. this is the moment of full support. (0.22
milestone)
All the code for full support will be in place, but disabled
functionality will be wrapped in SVN_DAV_FEATURE_BINARY_PROPS
#defines.
When stage 2 is ready to go into 0.21, we just remove the #defines
from the code in mod_dav_svn, commit, and reset this issue to have a
0.24 milestone.
When stage 3 is ready to go into 0.22, we just remove the #defines
from the code in libsvn_ra_dav, lose the #define itself from
svn_dav.h, commit, and close this issue.
---------------
REPOSITORY UUIDS
================
Change:
Problem:
Plan:
PROPERTY NAMESPACES
===================
Change:
Problem:
Plan:
HANDLING OF UNKNOWN XML ELEMENTS
================================
Change:
Problem:
Plan:
[note: need to review any "else" conditions to ensure we don't fall
into them for unknown/future props; some if constructs might have
assumed only (say) three elements were possible, so only tested for
two of them, and fell to the else for the third]