[darcs-users] darcs patch: Move a couple of low-level pending bits ... (and 2 more)
dagit at codersbase.com
Thu Oct 15 15:25:31 UTC 2009
On Wed, Oct 14, 2009 at 12:14 AM, Petr Rockai <me at mornfall.net> wrote:
> Jason Dagit <dagit at codersbase.com> writes:
> > What is the distinction between LowLevel and Internal? I don't
> understand how
> > this change improves things. Internal is already meant to be private and
> > whatnot. Now I'm confused by the distinction between LowLevel and
> > Could you clarify the rationale?
> Sure, the Internal module is a big mish-mash of interdependent
> functionality. The problem is that separating parts of the Internal
> functionality in State led to a situation, where State depends on
> Internal. However, Internal now relies on readRecorded from
> and therefore State cannot import Internal anymore, lest a dependency cycle
> forms. Therefore, I've moved things that are needed by Repository.State but
> not need anything from Internal to a separate module. I intend to move more
> such bits into that module later.
> For reference, I first tried to separate the functions for handling
> state into a separate Repository.Pending, but this would again lead to
> dependency cycles: make_new_pending needs readRecorded from State,
> unrecordedChanges in State need read_pending. Fortunately, read_pending is
> very low-level piece of code that basically doesn't do anything other than
> deserialize the primitive patches in the pending file.
I think you've convinced me.
I likely won't find time to apply this until Saturday. I do think it should
go in (and others are welcome to push it if I'm too slow). I would still
like to see before and after numbers for the last patch, but not a
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the darcs-users