I think what SimonPJ suggested, that the build system just gives an
appropriate error message if a component is missing, would be much
easier to realise.
Manuel
Claus Reinke:
"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