On Thu, Aug 14, 2008 at 8:24 AM, Eric Y. Kow <eric.kow@gmail.com> wrote:
> On Thu, Aug 14, 2008 at 07:06:19 -0700, David Roundy wrote:
>> This is wrong. Importing from Darcs.Repository.HashedRepo into the
>> Darcs.Commands hierarchy is always a bug.
>
> Is this so that we can abstract over repository types, and if so, should
> we say the same about importing Darcs.Repository.DarcsRepo?
That's part of it, but a lot of the reason is just that
Darcs.Repository is intended to be the "safe" API. This is a less
crucial distinction for DarcsRepo, just because the code DarcsRepo
preexisted Darcs.Repository, but the code in HashedRepo is
intentionally designed to only be used in
Darcs.Repository.Internal--which itself should also never be imported
out of the Darcs.Repository hierarchy, since Darcs.Repository itself
exports the entire "safe" API that is exported from
Darcs.Repository.Internal.
But yes, removing imports of Darcs.Repository.DarcsRepo would also be
good. The exception is true legacy code (some exists in Get, I
believe, or at least it used to), which might not be worth rewriting.
> If so, it sounds we have like a small refactor/code documentation
> job to do, because the latter is imported in a couple of places.
It's worth looking at, yes.
David
|