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>
|