[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] What are rosters?
From: |
William Uther |
Subject: |
[Monotone-devel] What are rosters? |
Date: |
Fri, 17 Aug 2007 17:03:53 +1000 |
Hi,
I'm trying to make DieDieDie merge go away. I think I'm close,
but I need to understand the core monotone code better....
So, er, exactly what are rosters?
I've read NJS's post here: http://lists.gnu.org/archive/html/
monotone-devel/2005-11/msg00102.html
but it mainly just says what they are used for. It doesn't explain
what data is stored in them, or how.
I also found this page: http://wiki.vestasys.org/ToolComparison/
Monotone which has some details, but not too many.
At the moment my rough guess is that a roster contains a list of
nodes, their content hashes, and a list of marks for mark-merge on
where the content changed (and it wasn't a conflict-free merge). It
only contains marks for existing files. I'm also assuming that there
is some pruning for older marks of existing files. "By *(A), we mean
we set of minimal marked ancestors of A."
So, is there a magic piece of documentation I'm missing?
In particular, it seems that sometimes rosters are stored as
deltas, and sometimes complete. Is there any rhyme or reason here?
Head is complete, others are reverse deltas? Root is complete,
others are forward deltas?
My next question might be easier... What's an easy way to get a
list of added or dropped files in a revision. I'm thinking of a
function I could call from merge.cc : interactive_merge_and_store(),
and it would give me a list of node_ids. Having added and dropped
files separately would be nice - maybe two functions?
Finally, assuming I've worked out the merging issues (which
depends upon the answers above), I'd want to add a new command to
allow the resurrection of files. I'm assuming the command would take
a file name and a revision and an optional new file name. It would
then behave very similarly to the rename command... get the old
roster, clone the node, attach the new node to the new roster. Does
that sound about right?
Thanks for any input,
Will :-}
- [Monotone-devel] What are rosters?,
William Uther <=
- Re: [Monotone-devel] What are rosters?, Nathaniel Smith, 2007/08/17
- Re: [Monotone-devel] What are rosters?, William Uther, 2007/08/17
- Re: [Monotone-devel] What are rosters?, Brian May, 2007/08/20
- Re: [Monotone-devel] What are rosters?, William Uther, 2007/08/20
- Re: [Monotone-devel] What are rosters?, Brian May, 2007/08/20
- Re: [Monotone-devel] What are rosters?, William Uther, 2007/08/20
- Re: [Monotone-devel] What are rosters?, Brian May, 2007/08/22
- Re: [Monotone-devel] What are rosters?, William Uther, 2007/08/22
- Re: [Monotone-devel] What are rosters?, Brian May, 2007/08/22
- Re: [Monotone-devel] What are rosters?, Nathaniel Smith, 2007/08/23