[darcs-users] darcs patch: Move a couple of low-level pending bits ... (and 2 more)

Jason Dagit 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
> Internal.
> > 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
> Repository.State,
> and therefore State cannot import Internal anymore, lest a dependency cycle
> forms. Therefore, I've moved things that are needed by Repository.State but
> do
> 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
> "pending"
> 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
> a
> 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...
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20091015/00135d19/attachment.htm>

More information about the darcs-users mailing list