[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] resolving name conflicts; implementation
From: |
Stephen Leake |
Subject: |
Re: [Monotone-devel] resolving name conflicts; implementation |
Date: |
Tue, 19 Aug 2008 19:28:01 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (windows-nt) |
Thomas Moschny <address@hidden> writes:
> Stephen Leake wrote:
>> There are two formats for "changes to rosters" stored in the database;
>> changesets and roster_deltas.
>>
>> I'm not clear why we have both.
>
> Well, it's different. Changesets describe the 'original' first class
> data. For example, only changesets are transferred in a sync
> operation between two databases (and associated file contents, of
> course), not rosters. Rosters form strictly local caches that can at
> any time be regenerated from the changesets. So, keeping changesets
> is a form of redundancy (or security, if you wish) in case something
> breaks.
Right.
> As a side note, rosters are stored as roster deltas, and of course, there are
> similarities between changesets and roster deltas, so, the idea of changing
> our storage format to keep only one of them has already been floating around
> for a while. This is not a simple change however, and afaik no one has
> implemented something in that direction yet.
Right. And having looked into it more, there are significant
differences; roster_deltas can use node ids instead of file names, for example.
So I'll just add some comments about "if you change this, change that also".
I'm also starting a document that says stuff like the above, to aid
the next poor soul that goes down this road.
--
-- Stephe