<br><br><div class="gmail_quote">On Thu, Oct 15, 2009 at 8:25 AM, Jason Dagit <span dir="ltr">&lt;<a href="mailto:dagit@codersbase.com">dagit@codersbase.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div class="gmail_quote"><div class="im">On Wed, Oct 14, 2009 at 12:14 AM, Petr Rockai <span dir="ltr">&lt;<a href="mailto:me@mornfall.net" target="_blank">me@mornfall.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div>Jason Dagit &lt;<a href="mailto:dagit@codersbase.com" target="_blank">dagit@codersbase.com</a>&gt; writes:<br>
<br>
&gt; What is the distinction between LowLevel and Internal?  I don&#39;t understand how<br>
&gt; this change improves things.  Internal is already meant to be private and<br>
&gt; whatnot.  Now I&#39;m confused by the distinction between LowLevel and Internal. <br>
&gt; Could you clarify the rationale?<br>
</div>Sure, the Internal module is a big mish-mash of interdependent<br>
functionality. The problem is that separating parts of the Internal<br>
functionality in State led to a situation, where State depends on<br>
Internal. However, Internal now relies on readRecorded from Repository.State,<br>
and therefore State cannot import Internal anymore, lest a dependency cycle<br>
forms. Therefore, I&#39;ve moved things that are needed by Repository.State but do<br>
not need anything from Internal to a separate module. I intend to move more<br>
such bits into that module later.<br>
<br>
For reference, I first tried to separate the functions for handling &quot;pending&quot;<br>
state into a separate Repository.Pending, but this would again lead to<br>
dependency cycles: make_new_pending needs readRecorded from State,<br>
unrecordedChanges in State need read_pending. Fortunately, read_pending is a<br>
very low-level piece of code that basically doesn&#39;t do anything other than<br>
deserialize the primitive patches in the pending file.<br><br></blockquote><div> </div></div>I think you&#39;ve convinced me.<br>
<br>
I likely won&#39;t find time to apply this until Saturday.  I do think it
should go in (and others are welcome to push it if I&#39;m too slow).  I
would still like to see before and after numbers for the last patch,
but not a requirement.<br></div></blockquote><div><br>Petr,<br><br>I apologize for taking so long to apply this patch.  Now there is a conflict:<br>Backing up ./src/Darcs/Commands/Put.lhs(-darcs-backup0)<br>There are conflicts in the following files:<br>
./src/Darcs/Commands/Put.lhs<br><br>Could you please look into resolving this conflict and sending me a new bundle?<br><br>I&#39;m sorry for being slow and creating this inconvenience.<br><br>Sorry!<br>Jason<br></div></div>