logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

Re: New optimize: msg#00255

Subject: Re: New optimize
On 5/23/05, David Roundy <droundy@xxxxxxxxxxxxxxx> wrote:
> I haven't thoroughly read the code, and am not quite clear as to what it
> does.  Can you describe how this differs from Optimize.choose_order?
> Optimize.choose_order is very simplistic, just taking the most recent tag
> and making that tag be a break point of the inventory (i.e. all patches
> before that tag are in that tag).  What does your optimize_patchset do?
> It's clearly much more complicated, but I'm not clear as to what it
> actually does.

I'm sorry, Optimize.choose_order doesn't exist in darcs HEAD. My
algorithm walks (head pset) and, for each tag, attempts to commute any
non-dependencies of that tag so that they are after the tag. If
successful, it breaks the patchset at that point, creating a separate
patchsequence. This solves the very common problem of:

darcs pull
<do some work>
darcs record
darcs pull (new tag appears)

and now I can't optimize the inventory to be based on the new tag.

-- 
JP Sugarbroad <taralx@xxxxxxxxx>


<Prev in Thread] Current Thread [Next in Thread>