~bzr-pqm/bzr/bzr.dev

1185.1.29 by Robert Collins
merge merge tweaks from aaron, which includes latest .dev
1
YAML
2
****
3
4
I am thinking about keeping changeset headers in YAML_, as a nice
5
tradeoff:
6
7
 * Standard data format, so we don't need to invent, write and debug
8
   an ad-hoc format.
9
10
 * More concise than XML, which is useful if we're storing a few.
11
12
 * Reasonably readable for humans; thus suitable for sending in email
13
   and giving people at least some chance to read and understand it.
14
   Seeing this at the top of a patch would not be actively horrible as
15
   long as we keep it reasonably small; that's not true for XML.
16
17
 * Since YAML documents have a document header and terminator ('---'
18
   and '...') we can pick them out of a text document and append
19
   text patches directly afterwards.
20
21
 * Fits well with Python internal data structures.
22
23
 * There are parsers for various languages, so people can write their
24
   own implementation if they really want.
25
26
 * There is space to specify a document format/version at the top
27
   (though this is not currently handled in ydump).  
28
29
The ydump module is pretty primitive, but it should have enough.
30
31
.. _YAML: http://www.yaml.org/
32
33
34
Conclusion
35
----------
36
37
On the whole, I think this is not a good idea.  It is a nicer syntax
38
for XML, but there are less bindings, and it does not achieve the goal
39
of having the storage format look reassuring and giving confidence
40
that the data could be retrieved by an alternative implementation.