"darcs-all get; darcs-all pull -a; sh validate" instead of just the latter two.

actually, since pull might change darcs-all or packages, either of which
may change what "darcs-all get" does, that needs to be

"darcs-all pull -a; darcs-all get; sh validate"

which, since pull might change darcs-all, directly or via packages, becomes

"darcs pull -a; darcs-all pull -a; darcs-all get; sh validate"

which, since pull might change distclean, becomes

"make distclean; darcs pull -a; darcs-all pull -a; darcs-all get; sh validate"

fun, isn't it?-)

It would be useful if the three middle steps were reliably automated by darcs-all. Currently, "darcs-all pull" does actually give the error message suggesting "darcs-all get" that you asked for, but only if it started from up to date darcs-all and packages in the first place.
So, "darcs-all pull" should:

1 recognize if the initial pull from the ghc repo changes darcs-all itself or packages, and either suggest to restart darcs-all (aborting before trying to pull the other repos), or initiate that restart itself

2 possibly initiate a "darcs-all get" for missing core packages

3 keep a log, and at the end of operations, search that log for
   a missing packages
   b darcs "warnings" that indicate that the repo is in a strange
       state (renaming failed, remove directory failed,..)
   c darcs conflicts messages (listing files that need looking at)

   summarizing these bits of information (that otherwise get
   overlooked quite easily) before terminating.

Claus

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to