Contributors mailing list archives
Re: Proposal to support small repos into the current OCA workflowby "Pedro M. Baeza (Tecnativa)" <firstname.lastname@example.org> - 29/06/2016 18:30:11
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 <email@example.com>:
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 <firstname.lastname@example.org>:
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" <email@example.com>
Para: "Contributors" <firstname.lastname@example.org>
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 <email@example.com>:
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
ThinkOpen Solutions Portugal, Daniel Reis