Contributors mailing list archives
Re: Proposal to support small repos into the current OCA workflowby
The point for my PR to MQT is exactly to allow for these integration tests to happen in the integrated repo.
But you have a point - we should do it also in the satellite repo.
That's possible, and I'll implement that.
> We lose also the control over that repo, that will be owned by other person, so future patches can be merged by the PSC.
While candidate for OCA inclusion, the module will be outside OCA.
But when accepted for OCA, it will change ownership to OCA and be write controlled like all the other OCA repos.
Citando Pedro M. Baeza (Tecnativa) <email@example.com>:
OK, I get it. But I don't see the rest of the flow from the inclusion of the module. If your plan is to continue maintaining the module in its subrepo, we will lose the tests for all the modules together, which can be sometimes a way to discover errors in our own module. We lose also the control over that repo, that will be owned by other person, so future patches can be merged by the PSC.Regards.
2016-06-29 20:53 GMT+02:00 Daniel Reis <firstname.lastname@example.org>:My idea is to have a script to every night merge satellite repos into the integration repos.For deployment you can choose to clone the integration repo, or clone directly the satellite repos, depending on your needs.
--DanielRegards.Hi, Daniel,Thanks for your efforts, but if I understand well, this is only one part of the flow, the testing one, but the subrepo still continues in another location and for a deployment, what do you have to do? Download all satellite repos?
2016-06-29 20:23 GMT+02:00 Daniel Reis <email@example.com>:
I implemented the changes needed to MQT and have a first PoC for the "satellite repo integration".
The changes are proposed here: https://github.com/OCA/maintainer-quality-tools/pull/338
Suppose that "dreispt/business-requirement" is to be made a satellite repo for "dreispt/project".
I then need to make a PR on "dreis/project" adding business-requirement to the oca_modules.txt file.
Like this: https://github.com/dreispt/project/commit/9319888871f1
The TravisCI build is expected to automatically merge the repos in oca_modules.txt and then run the tests.
And indeed we can see TravisCI testing all modules from the "project" and "business-requirement" repos.
The log is at: https://travis-ci.org/dreispt/project/jobs/141143843
This feature could enable small repos in our workflow, while keeping backward compatibility and many of the advantages of the existing "integration repos".
Citando Daniel Reis <firstname.lastname@example.org>:
I think those methods only allow to integrate repos as a subdirectory.
We need the integration to happen right at the root directory.
I could be wrong, but if so, ready to discuss the merits of those alternatives compared to a simple git pull/merge.
Citando David Arnold <email@example.com>:
Sound's very good! However, I guess the role you are assigning at oca_modules.txt is what any of git submodules, git subtree, git submodule can do at the git level. as all of those are mostly warppers arround basic git commands, the ours strategy will be waranted.
However the idea of all three commands is not to mess with the top level but be "in charge" specifically of one folder.
I think this is more or less just what's needed out of the box?
Best, DavidVery nice +1This will bring many benefits to the l10ns.https://github.com/odoo-brazil/odoo-brazil-banking
https://github.com/odoo-brazil/odoo-brazil-reports=D- Luis Felipe MiléoGerência de Implementaçãomileo@kmee.com.brParceiro oficial:
De: "Daniel Reis" <firstname.lastname@example.org>
Para: "Contributors" <email@example.com>
Enviadas: Quarta-feira, 22 de junho de 2016 9:23:22
Assunto: Re: Proposal to support small repos into the current OCA workflow
I conducted a first experiment on this workflow.
GitHub only allows to create PRs from forked repositories.
So the proposal to integrate a new repo needs to be done differently.
My idea is to keep a "oca_modules.txt" file in the integration repos, similar to the existing "oca_dependencies.txt".
This file lists the satellite repos to integrate in the reference repo.
A nightly script would perform, for each line, the following command:
git merge -X ours https://github.com/OCA/$SATELLITE_REPO -b $BRANCH
The "ours" merge strategy keeps the integration repo top level dotfiles (.travis.yml, README, .gitignore, CONTRUBUTING.md, etc).
So, proposing to add a new repo should be creating PR to add a line to the "oca_modules.txt" file.
To follow the changes and discussion, people need to manually follow the proposed repository.
The best the author can do is to later post reminders on this PR if it needs more people to come into the discussion.
I couldn't test the ownership transfer to the OCA, but it seems that the original owner should add the OCA organization as owner ,and then remove himself: https://help.github.com/articles/transferring-organization-ownership/
After this, we could merge the PR adding the repo to the "oca_modules.txt" file.
It would be desirable to be able to confirm that integrating the new repo would keep TravisCI green.
For this, we should improve the MQT, so that it merges the proposed repo and lets us see how the tests work after the merge.
The git-subrepo extension could be helpful here, but I worry if it supports merge strategies, since the "-X ours" is really necessary.
I would like to start an experiment on OCA/project, and already have an idea for the candidate repo.
Citando Graeme Gellatly <firstname.lastname@example.org>:
At airport so can't elaborate but take a look at https://github.com/ingydotnet/git-subrepo#readme. Then you can have atomic repos, aggregate ones, ppl just working on what they need, distribution repos etc. Tbh I've not used this yet, but did use git subtree which worked really well.Indeed, an OCA-dev org could provide a nice sandbox for contributors to collaborate.
Just a tiny comment: Would it be bad to suggest a OCA-dev organization? This prevent's cluttering the actual nicly organized repos. Yet this might be a technical detail and you already conceived it that way.But crowd discussions are hard, and it's best to keep the discussion topic narrow and focused.I believe that it is something we can bring up at a later time./Daniel
Post to: mailto:email@example.com
ThinkOpen Solutions Portugal, Daniel Reis