On Wed, Aug 27, 2008 at 09:56:32AM -0700, Jason Dagit wrote:
> David,
>
> This is the resend you requested.
>
> I can't be sure that the individal patches below will compile by themselves, 
> but
> I know they result in a working darcs when applied together.  Hopefully,
> sending like this will make it easier for you to review them!

I know it's a lot of work, but breaking these into managable chunks
that *will* compile may be the only way to get this actually
reviewed.  And this really is important, because I'm pretty confident
that in a change of this magnitude, there *will* be bugs present.  And
the type witness don't really help us in this, because most of the
code involved uses functions with wrong type witnesses--which is to
say, the functions in Darcs.Repository, which cannot be written with
correct type witnesses until we've got something that can handle
mutable state.  Which means that the code need to be reviewed, and
therefore needs to be presented in a comprehensible format.

This one still has a conflict in it, so I can't apply this one without
the resolution patch--which isn't labelled.

> [improve reporting for bug in get_extra
> Jason Dagit <[EMAIL PROTECTED]>**20080825011810] hunk 
> ./src/Darcs/Patch/Depends.lhs 48
>  import Darcs.Patch.Info ( PatchInfo, just_name, human_friendly )
>  import Darcs.Patch.Set ( PatchSet, SealedPatchSet )
>  import Darcs.Patch.Patchy ( sloppyIdentity )
> -import Darcs.Hopefully ( PatchInfoAnd, piap, info,
> +import Darcs.Hopefully ( PatchInfoAnd, piap, info, n2pia,
>                           hopefully, conscientiously, hopefullyM )
>  import Darcs.Progress ( progressRL )
> hunk ./src/Darcs/Patch/Depends.lhs 51
> -import Darcs.Sealed (Sealed(..), FlippedSeal(..)
> +import Darcs.Sealed (Sealed(..), FlippedSeal(..), Sealed2(..)
>                      , flipSeal, seal, unseal )
>  import Printer ( errorDoc, renderString, ($$), text )
>  #include "impossible.h"
> conflictor [
> hunk ./src/Darcs/Patch/Depends.lhs 268
> -get_extra _ _ NilRL = return (flipSeal NilRL)
> -get_extra skipped common (hp:<:pps) =
> -    if info hp `elem` common && is_tag (info hp)
> -    then case getdeps `fmap` hopefullyM hp of
> -         Just ds -> get_extra (liftM2 (:>:) ep skipped) (ds++delete (info 
> hp) common) pps
> -         Nothing -> get_extra (liftM2 (:>:) ep skipped) (delete (info hp) 
> common) pps
> -    else if info hp `elem` common
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to