newformat format change

John A Meinel john at arbash-meinel.com
Fri Sep 30 17:41:26 BST 2005


Gustavo Niemeyer wrote:
>>Well, back in the beginning of the project, it was determined to use XML 
>>for data storage. It was a really big benefit for the inventory, perhaps 
>>not quite as much for the Revision information.
>>But since we are using XML, we should try and use it as much as possible 
>>in the files, to be consistent.
> 
> 
> Storages are weaves now, revision-history is a list of lines in
> a plain file, and so on. I'm not saying that XML is bad, but consistence
> is not something I'd take into account right now. We could even get
> consistent by removing XML from the project completely, for instance.
> 
> 
>>I think XML is very decent for long-term storage, it's a little extra
>>verbose, but in something that may sit on disk a long time, being able
>>to figure it out after some time is pretty nice.
> 
> 
> RFC822 is out there for quite some time, and it's plain text. :-)
> 
> 
>>Honestly, a revision is pretty small, and I don't think you would save 
> 
> [...]
> 
> [niemeyer at burma ../revision-store]% du -sh
> 7.2M    .

du -sh --apparent
755k

> 
> That's from bzr itself.
> 

>>
>>rfc822 style was a possibility. I believe it was discussed a long time 
>>ago. And I think XML was genuinely chosen (not just happened).
> 
> 
> I'm sure it was.. but we didn't have weaves back there, nor
> a real feeling of the impact of the revision store in a real
> world project.
> 
> Of course, I'm not saying that changing is something really
> necessary. But I wouldn't like to stick to some standard just
> because it's already there, if doing it another way would be
> better and was just a step away.

I still think that xml is decent for long-term storage. It allows 
nesting, which is something that RFC822 doesn't. Which is why it makes a 
lot of sense for potentially nested inventories (which hasn't happened 
yet, but still could.) But even without nested inventories, it would get 
pretty complex to try and write RFC822 inventory information, since you 
have a lot of files in an inventory, and a lot of information about each 
file.

And if we are using XML in inventories, why not use them for revision 
information.

As far as "there were no weaves back then", weaves don't really change 
the discussion for this stuff. If you want more weave friendly text, you 
could just write it with one thing per line:

<revision
	revision_id="xxxxyyyyyzzzz"
	committer="John A Meinel <john at arbash-meinel.com>"
	...

The reason the revision XML isn't very weave friendly, is mostly because 
  it isn't line based, but you could easily make it that way.
You could also do:
<revision>
	<id>xxxxyyyyzzzz</id>
	<committer>John A Meinel</committer>
I would rather see us switch to that sort of format, than go back to 
RFC822. Nesting is frequently very useful.

> 
> 
>>But you would have to grep the archives for the real discussions.
> 
> 
> Thanks for pointing that out.
> 

John
=:->
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 253 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20050930/5a3905d8/attachment.pgp 


More information about the bazaar mailing list