monotone-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]