On Sat, Aug 31, 2013 at 09:28:49AM +0100, Paul Sherwood wrote:
I've hit this a few times recently, and wanted to provide some
thoughts:
1) you can use 'grep -C5 foo *morph' to see context and check that
all refs for foo point to the same SHA1 or branch.
2) note that if you are working in branch bar and have edited
the foo stratum, then all refs for foo will need to point to your
working bar branch.
It would be helpful if the ERROR message could be more explicit,
stating which conflicting versions it has found.
I continue to be of the opinion that in most cases the problem is
not that the morphologies are wrong, but that "morph build" modifies
the morphologies, by creating a temporary build ref, and does that
wrong. However, I admit that this part of Morph's code is intricate
and convoluted enough that I don't understand it, and so my repeated
attempts at fixing the problem have utterly failed.
I believe branch+merge code is up for a re-write so it's
probably
worth considering if this can be be fixed. for example maybe morph
should force all refs for foo to bar.
We're going to have to re-think everything "morph build" does in
any case, and we should consider what happens when creating temporary
build refs. Also, the suggestions that we do away with repo/ref fields
in system/stratum morphologies are relevant here.
--
http://www.codethink.co.uk/ http://wiki.baserock.org/ http://www.baserock.com/