rarified wrote:Before we do the "event" I still have some changes I want to integrate on the MOSS side
Is
https://bitbucket.org/OpenUru_org/moss/ ... -appearing among those? If it isn’t on the shard already, I think it should.
rarified wrote:Sound like a plan?
Sounds good to me.
Mac_Fife wrote:I think it'd be useful to have a list (easy reference, somewhere) that would show what's coming over the horizon (and how quickly). At the moment I get the sense that we're only picking things up when the PR comes in? It's maybe not a big deal, but it might help to decide whether or not to include Change-X in the current update or defer it to the next.
Yes, for the moment I’m just working from the list of open pull requests (now that we have eliminated Crucible as another source of incoming contributions (have we?

), that seems to work well). Am I understanding you wording “only” correctly in that you are suggesting that it is useful to track possible/announced/expected contributions before they appear as pull requests? Either way, I guess you’re thinking of something like the list in my first post, e.g. on the wiki, and continuously updated? Yes, that might be useful for keeping the overview, though it would be a bit of work to keep it up to date.
Skoader wrote:Some contributions are reasonably simple changes that could be thoroughly tested over a weekend, while others will require much more extensive testing. Rather than squeezing them all into a fixed testing cycle (which needlessly extends the overall review time for the smaller changes and puts incoming contributions on hold), could we be more fluid with the input and output of contributions to Minkata?
Agreed. I would prefer to get away from the rigid cyclic model myself, but so far I haven’t been able to think of any other way that satisfies the following two unwritten requirements (and maybe more, implicit ones that we would need to identify in the discussion and ask ourselves whether they really are requirements). Can you? Or shall we just drop the requirements?
- -ou receives a cleaned-up version of the history developed in -ou-minkata, i.e. for any feature branch (pull request) there is exactly one merge to the default branch in -ou (in -minkata there can be multiple, when testing uncovers problems that require amendments to be made on the feature branch and merged to default again).
- The head of -minkata is always a descendant of the head of -ou.
The first one is a matter of policy and just seems sensible given the goal of presenting a simple sequence of changesets to Cyan. The second is intended to keep merging as conflict-free as possible and prevent the OU and Minkata branches from diverging without anyone noticing. It could perhaps be replaced by a weaker version: Any two revisions that need to be merged in the usual course of work should have a unique and somewhat recent newest common ancestor.
Now that I think about it again, it seems to me that the following process should work, and satisfy both requirements. I can describe it in more detail sometime when I have more time than tonight, but here’s the short version:
After contributions are merged into the OU branch, instead of discarding the Minkata branch and replacing it by the new OU head, the new OU head is simply merged to the Minkata branch. That merge in general has criss-cross-merged parents (i.e. no unique newest common ancestor) and is therefore likely to generate conflicts in the automated merge (I don’t know how smart Mercurial is about merging such cases), however these should be trivial to resolve, because the merge should be a no-op with respect to the Minkata parent (everything that comes in from OU should already be in Minkata from before), and the diff with respect to the OU parent should contain only Minkata-specifics.
This would allow for a more continuous way of development and testing: Pull requests can be merged into the Minkata branch at any time, contributions that are deemed to be sufficiently tested on Minkata can be merged into the OU branch at any time, and the Minkata shard can be updated to the current state of the Minkata branch at any time, all without interdependencies.
Plus, as a bonus, it would 1. allow us to keep the Minkata-specific adjustments (product name, server addresses, keys etc.) in the version control repository instead of having to apply them as a patch in the build process, and 2. allow contributors to choose whether to make their pull requests against the OU or Minkata branch.