Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synchronization broken? #44

Closed
gurneyalex opened this issue Sep 3, 2014 · 29 comments
Closed

Synchronization broken? #44

gurneyalex opened this issue Sep 3, 2014 · 29 comments

Comments

@gurneyalex
Copy link
Member

It seems that the sync from odoo/odoo is broken.

@hbrunn @StefanRijnhart could you tell us what is failing so we can restore the sync?

Thanks

@pedrobaeza
Copy link
Member

Hi @gurneyalex, that it's because there is no synchronization at all. We let the debate about what is the best strategy to do: replay commits or rebase, and we didn't conclude anything. I think it's time for retake this question.

@gurneyalex
Copy link
Member Author

ah ok. I had assumed this had been dealt with in july while I was on holiday 😎

@hbrunn
Copy link
Member

hbrunn commented Sep 4, 2014

I think I'll just start doing this with replays, and if we notice this screws up everything later, it should be simple to switch to the rebase approach. So if nobody comes up with good reasons why that's the source of all evil in the world, I'm going to do it next Monday.

@hbrunn
Copy link
Member

hbrunn commented Sep 8, 2014

I made a script on OCA/maintainer-tools#35 for the replay process. Today, I experimented a bit with rebases but that didn't work the way I wanted. The script as it is works for 8.0 without doing anything, for 7.0 there are 4 very trivial conflicts and one somewhat trivial conflict to resolve by hand.
The result of this can be reviewed in the *-odoo-synced branches on https://github.com/hbrunn/OCB

@gurneyalex
Copy link
Member Author

@hbrunn there is a leftover trivial merge conflict in the 7.0-synced branch in addons/account_voucher/account_voucher.py

@pedrobaeza
Copy link
Member

There is also another question: ¿how do we get and integrate specific 7.0 OCB revisions that are not on 8.0?

@clonedagain
Copy link

so, I think Odoo merges 7.0 into master regularly, maybe they will also merge 7.0 into 8.0 ?
If they do, probably you'll be able to simply merge OCB/7.0 into OCB/8.0 too.

@pedrobaeza
Copy link
Member

@clonedagain Yeah, I think so. It can be the solution.

@OCA board members, are you going to host sync script in any place?

@gurneyalex
Copy link
Member Author

On 10/09/2014 11:36, Pedro M. Baeza wrote:

@clonedagain https://github.com/clonedagain Yeah, I think so. It can
be the solution.

@OCA https://github.com/OCA board members, are you going to host
sync script in any place?


Reply to this email directly or view it on GitHub
#44 (comment).

There's an ongoing purchase request made. I'll double check its status
with @jgrandguillaume

Alexandre Fayolle
Chef de Projet
Tel : + 33 (0)4 79 26 57 94

Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac Cedex
http://www.camptocamp.com

@hbrunn
Copy link
Member

hbrunn commented Sep 10, 2014

I just created a github user called oca-git-bot: https://github.com/OCA-git-bot/OCB. Here I also did the initial conflict resolving. My proposal is to review that and merge it into OCA/OCB

On one of Therp's servers, this user will run the ocb-sync script every night and push to OCA-git-bot/OCB. As soon as we are convinced that this works as it should, we can have the bot commit to OCA/OCB and we're done. The only thing left to do then is to add the git bot to the project's commiters.

I'll be happy to provide the password to every OCA board member interested (please provide your GPG key then)

@pedrobaeza
Copy link
Member

It looks good! Let's see how it works for a couple of weeks. Have you tried to merge 7.0 into 8.0?

@hbrunn
Copy link
Member

hbrunn commented Sep 10, 2014

not yet

@hbrunn
Copy link
Member

hbrunn commented Sep 12, 2014

Tonight for example, we had another conflict. Output looks like this then:

Fetching origin
Fetching odoo
From github.com:/odoo/odoo
   f2cf6ce..875d7ed  7.0        -> odoo/7.0
   fba1f63..87d458f  8.0        -> odoo/8.0
   bfc98d8..162ec90  master     -> odoo/master
   2684b7d..abba7aa  saas-3     -> odoo/saas-3
Switched to and reset branch '8.0'
Branch 8.0 set up to track remote branch 8.0 from origin.
Already up-to-date.
Updating fba1f63..87d458f
Fast-forward
 addons/point_of_sale/point_of_sale_view.xml        |    3 ++-
 addons/report_webkit/__openerp__.py                |    2 +-
 addons/report_webkit/webkit_report.py              |    3 +++
 addons/stock/stock.py                              |   16 +++++++----
 addons/web/static/src/css/base.css                 |   15 ++---------
 addons/web/static/src/css/base.sass                |   11 ++------
 addons/web/static/src/js/chrome.js                 |    1 +
 addons/web/static/src/xml/base.xml                 |   15 +++++------
 addons/website/static/src/js/website.editor.js     |    2 +-
 .../website_blog/views/website_blog_templates.xml  |    2 +-
 addons/website_forum/views/website_forum.xml       |   17 +++++-------
 openerp/fields.py                                  |   12 ++++++---
 openerp/models.py                                  |   28 +++++++++++++++-----
 13 files changed, 67 insertions(+), 60 deletions(-)
To git@github.com:/OCA-git-bot/OCB.git
   fba1f63..87d458f  8.0 -> 8.0
Branch 8.0 set up to track remote branch 8.0 from origin.
Switched to and reset branch '7.0'
Branch 7.0 set up to track remote branch 7.0 from origin.
Already up-to-date.
Auto-merging addons/web/static/src/js/data.js
Auto-merging addons/survey/wizard/survey_answer.py
Auto-merging addons/stock/wizard/stock_return_picking.py
Auto-merging addons/hr_expense/hr_expense.py
CONFLICT (content): Merge conflict in addons/hr_expense/hr_expense.py
Automatic merge failed; fix conflicts and then commit the result.

So I could simply go to the bot's account on our server, fix the conflict and push it, which I did just now.

@pedrobaeza
Copy link
Member

OK, these are the steps I see now:

  • Get OCA server for hosting the syncronization script.
  • Merge 7.0 branch on 8.0 branch. See if it can be done and resolve conflicts.
  • Choose a PSC team for following this project.
  • Prepare the script for sending an email to these PSC members.
  • Run script!

What do you think, @gurneyalex and rest of the OCA board members?

@hbrunn
Copy link
Member

hbrunn commented Sep 12, 2014

Is the first step a blocking one? I think Therp is more than happy to keep doing this for the time being

@hbrunn
Copy link
Member

hbrunn commented Sep 12, 2014

I just tried the merge and we get a lot of conflicts we don't want here. Thinking it through, that's also not what we want to do. We want to merge the missing commits between OCB/7.0 and odoo/7.0 into OCB/8.0.

I also think this is a problem we can better postpone until the sync process is implemented. My proposal of steps:

  • PR oca-git-bot/OCB/* to OCA/OCB/*
  • Review the commits that resolve conflicts
  • Merge them in OCB/*
  • Choose a PSC team for following this project.
  • Prepare the script for sending an email to these PSC members. (have out cron job output to this team)
  • Run script!

@clonedagain
Copy link

We want to merge the missing commits between OCB/7.0 and odoo/7.0 into OCB/8.0.
I think you can do that with git rebase then, but you'll have conflicts no matter what, won't you?

@pedrobaeza
Copy link
Member

@hbrunn, I agree. Let's start with the PR, start with the synchronization in Therp's servers, and wait until OCA organizes the rest of the things.

@rvalyi
Copy link
Member

rvalyi commented Sep 12, 2014

@pedrobaeza @hbrunn agree: these kind of synchronizations aren't large piece of infrastructure, it's not like if that would put a lock in on OCB, so we can perfectly delay doing the sync' on an OCA server and do the important steps before.

@StefanRijnhart
Copy link
Member

@hbrunn Agree.

@pedrobaeza
Copy link
Member

I've just updated manually 8.0 OCB branch to be at "final" state label. When do we start the synchronization?

@StefanRijnhart, have we got any list of commits which OCB 7.0 branch differs from official one?

@StefanRijnhart
Copy link
Member

@pedrobaeza: for addons and web, you can extract that by modifying http://bazaar.launchpad.net/~therp-nl/lp-community-utils/replay_ocb2git/view/head:/ocb2git.py to just list the missing commits.

For server, that is not possible due to the push overwrite which happened by accident during the 7.0 live cycle. You'll have to take the patch, which is not unmanageably large.

@pedrobaeza
Copy link
Member

OK, I'll start to work on these changes to be applied in 8.0 branch. Can you please activate the synchronization script?

Thanks.

@hbrunn
Copy link
Member

hbrunn commented Sep 19, 2014

Before we can do that, please review #51. And one of the OCA admin would have to add oca-git-bot to the OCA members for the push permissions.

@StefanRijnhart
Copy link
Member

Initial merge #51 has been applied to the 7.0 main branch. I have invited @OCA-git-bot to the OCB maintainers team, so that @hbrunn can set up automatic synchronization for OCB 7.0 and 8.0.

@pedrobaeza
Copy link
Member

Thanks, @StefanRijnhart! Now I'm examining the diff commits between odoo/7.0 and OCB/7.0 to move them to 8.0 branch, and I'll propose a methodology. I think we can keep this issue open for that discussion, or may I open a new one?

@OCA-git-bot
Copy link

Thanks Pedro! Please open a new issue for that.

@pedrobaeza
Copy link
Member

OK, I have opened #52 for that and I'm closing this one.

@hbrunn
Copy link
Member

hbrunn commented Sep 22, 2014

Last night we got the first run with the bot committing into the OCB branches. Everything went fine and 7.0 as well as 8.0 are up to date now.

mistotebe pushed a commit to credativUK/OCB that referenced this issue Oct 14, 2016
[FIX] set_message_last_post needs to be called in post step
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants