Hello all,
some of the things that we would like in a PushComponents tool (namely creating multi-repository diffs and applying them) seem like a natural addition to GetComponents to me. Or at least in first step one can extend GetComponents by a diff and push option. The advantage would be that GetComponents is already around and knows about the repositories present in a Cactus tree.
I believe that all our version control system can produce unified diffs, which should be mergeable into a single file relatively easily I would think (with issues being mostly header lines and relative vs. absolute paths). That way there would be a single patch spanning different repositories.
accepted an uploaded "super-patch", as described above, and ran the automated tests on a fresh checkout with that patch applied. This could probably be integrated with TRAC. When finished, the user would get an email with the results and a URL to the web report for those results. Perhaps this could also add an automatic comment to the corresponding TRAC ticket. The email would say "OK to apply" if no tests newly failed. The user could then run PushComponents on the patch file, which performs the commit. If we wanted to get very fancy eventually, the test system could sign the commit.
This could then be all done (on a local machine) relatively easily via something like a shell script.
While what I propose is certainly a bare-bones solution it would have the advantage that we do not have to set up a complex system and can have users report patches using a tool (GetComponents) that they are familiar with.
Yours, Roland