We can't even do this reliably with darcs. Several times I've tried to
unpull one of Simon's patches to work around a bug, and the dependencies
end up being more than just the textual dependencies. Then I have to
fall back to unpulling by date, which is what git would do. And then
sometimes there's the separate problem that you have to retreat the
library repos too, and there you have to unpull by date and some
guesswork too.
Perhaps it is possible to take the guesswork out of this
latter problem? For all the repos to be linked, maintain
a single file "patch-history.txt", add a posthook to all
repos so that every commit will be logged as a line in
patch-history.txt:
repo-id : patch-id : short commit message, or other greppable info
Then, if you have a patch id in the GHC repo, you just have
to search backward from that id in patch-history.txt until
you have matching last-patch ids for the other repos. That
search (and darcs-all (un-)pulling up to the patch ids for
all repos) could probably be scripted, so it would become
a single command (input: repo-id/patch-id for a patch in
one of the repos; output: list of repo-ids/patch-ids identifying
a consistent set of repo states).
Could that be made to work?
Claus
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users