[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] Mark merge for existence
From: |
Markus Schiltknecht |
Subject: |
Re: [Monotone-devel] Mark merge for existence |
Date: |
Thu, 15 Nov 2007 09:57:50 +0100 |
User-agent: |
Icedove 1.5.0.14pre (X11/20071018) |
Hey again,
sorry, hit send by accident...
William Uther wrote:
cmd_merging.cc : CMD(merge)
cmd_merging.cc : merge_two()
merge.cc : interactive_merge_and_store() # loads the left & right
rosters and marks from db
roster_merge.cc : roster_merge() merge.cc :
store_roster_merge_result()
database.cc :
database::put_revision()
database.cc :
put_roster_for_revision()
roster.cc :
make_roster_for_revision()
roster.cc :
make_roster_for_merge()
roster.cc :
mark_merge_roster() # much happens here
roster.cc :
mark_unmerged_node() and mark_merged_node()
It seems that roster_merge() does the main merge, but then
mark_merge_roster() does a lot of very similar work to build up the new
marking map just before it is actually written to the db. This seems a
little convoluted. Is there some reason for this I'm missing, or is it
just... historical?
Uh.. AFAICT mark_merged_node() and mark_unmerged_node() act on a single
node, while mark_merge_roster() works on a roster... seems an absolutely
legal separation.
You've read and understand *-merge? Best sources here [1]. Can you
expand on you concept of 'existince marks'?
Regards
Markus
[1]: http://monotone.ca/docs/Mark_002dMerge.html
Re: [Monotone-devel] Mark merge for existence,
Markus Schiltknecht <=
Re: [Monotone-devel] Mark merge for existence, William Uther, 2007/11/15