-
Notifications
You must be signed in to change notification settings - Fork 0
GitHub Transition
IMPORTANT: Don't panic! The transition does not happen all at once, and we will try to preserve as much as possible in the process. Existing bugs, branches, merge proposals, etc. will stay available for the foreseeable future.
=> Please read on...
____________________ | Status | Summary |
---|---|---|
Source Code | In Progress |
All 3 bzr repos merged into 1 GitHub repo: odoo, shrunk to 400MB. Some commits still need to be replayed. |
Code Namespace | Q2 2014 |
import openerp -> import odoo to be implemented with backwards-compatibility in v8 |
Runbot | In Progress |
New runbot with GitHub integration will be ready soon. |
Nightly | In Progress |
Nightly builds and official installers will soon be updated to use the GitHub repositories |
Bug Reports | In Progress |
LP bugs stay on LP, but no new ones. New bugs = GitHub issues |
Merge Proposals | In Progress |
LP MPs will stay on LP. New ones = Pull Requests on GitHub. |
Translations | Q3 2014 |
Translations managed on LP until v8 release. Transifex tooling to develop. |
Apps | In Progress |
The Apps platform will soon be updated to add support for GitHub repositories (while preserving bzr compatibility). |
Help / FAQ | Done |
Moved to new platform on www.odoo.com/forum |
Mailing Lists | In Progress |
To be migrated to odoo.com mail groups, as GitHub does not have lists |
Tech/Comm Doc | In Progress |
Will move to Odoo wiki or .rst/.md files on GitHub. Tech memento as well. |
Functional Doc | In Progress |
Will be updated for v8 and posted in the form of editable FAQ entries (cookbook style) on Help |
Note 1: This list will be updated as we progress, some plans will still change.
Note 2: LP BluePrints are not mentioned here because they were never officially used. Using the GitHub wiki or posting Issues with a special label would be possible alternatives for projects moving to GitHub.
Main change is done. The 3 repositories (addons, server, web) on LP were converted and merged into a new single repository on GitHub, history preserved: odoo/odoo. The size of the repo shrank to 400MB after dropping invalid sections of the history tree (wrong merges of big binary files, etc.).
WARNING: Some work is still being done in the old bzr branches on LP, but everything will be replayed automatically on the GitHub repo in the coming days, using this script. One reason for this activity is the fact that the new runbot is not available yet.
The bzr branches can be seen as staging branches that will be merged into GitHub very soon.
Old Layout New Layout
---------- ----------
- openobject-server - odoo
`- openerp `- openerp
`- addons `- addons
`- base `- base
- openobject-addons `- addons
`- account `- account
`- ... `- ...
- openerp-web `- web
`- addons `- ...
`- web
`- ...
The branches of the main series are all present in the new repo under their usual names, with their complete history. You do not need to fetch them separately, they're all in the odoo/odoo repo: 6.1, 7.0, etc.
WARNING: trunk was renamed to master, according to git tradition.
The commit messages of all revisions converted from bzr have been updated to include the Launchpad bug URLs (when present) as well as the bzr rev-id. Here is an example.
The first step is to checkout the new odoo repo:
git clone https://github.com/odoo/odoo.git
This fetches ~400MB and takes ~5 minutes with a 30 mbps bandwidth, YMMV.
Then if you actually want the 7.0 branch you would simply checkout 7.0 in your working tree:
git checkout 7.0
Assuming this will be a read-only repository, you can then use git pull
to fetch the latest revisions from upstream (origin
) and to update your working tree at the same time.
The next step is to modify your server startup script and your configuration to use an updated addons_path
matching the new layout.
- For a quick git primer for bzr users, have a look here.
- After reading it, you may want to keep this handy git interactive cheat sheet handy.
- If you want to setup a multi-remote repo so you can merge code between your own repos and the odoo one, have a look at GitHub doc and the setup script for OpenERP SA employees.
To be in line with the product name, the namespace of the server will change to odoo
in master
(trunk/v8). You will thus be able import odoo
instead of import openerp
.
The old namespace will still be available in v8 for backwards-compatibility.
The current OpenERP runbot is being revamped to support git and GitHub integration, with the same features and some new ones.
The internal Odoo branches (bugfixes and new features) will be created in the new odoo-dev repository and will be automatically discovered by the new runbot.
It will also still support partner/community branches.
The work-in-progress is at runbot.odoo.com/runbot, and the source code can be found here.
Nightly builds and official installers will soon be updated to build against the latest version from the GitHub repository instead of the current bzr branches.
All existing bug reports will stay on Launchpad for reference, and will not be duplicated on GitHub, to keep clear namespaces. The option to report new bugs on the official projects on LP will be closed soon, and new issues will have to be reported on GitHub, via odoo/issues.
The community documentation will be updated soon to explain the new process, including milestones, labels, etc.
Note: existing references to LP bugs are preserved in the git repository, as part of the commit messages.
References to GitHub issues in new commits should use the GitHub style by mentioning the issue number:Issue #14
.
Similarly to bug reports, existing LP Merge Proposals will stay on LP and should not be automatically transferred to GitHub. This will keep them next to the bugs they reference. Whenever such a MP is merged it will be forwarded to GitHub using this script.
Internal Odoo branches (bugfixes and new features from Odoo R&D) will be created in the new odoo-dev repository and merged using Pull Requests.
New contributions should come in the form of GitHub pull requests, which will automatically open new issues in the Odoo bugtracker. Have a look at the GitHub documentation for more info. Please be extra careful with the target branch selection (as in LP, it will default to trunk/master).
Important: there is no need to create multiple Pull Requests (7.0 + master/8.0) when fixing an issue on 7.0, as all 7.0 bugfixes are automatically forwarded to master (this was the case in LP too!)
Launchpad's translation infrastructure is quite unique, and we have many translations teams working on a complex translation workflow. The v8 release is too soon to allow setting up a new translation process on top of GitHub, especially as there is nothing built-in.
Translators will still continue to work on LP at least until v8 is released. We will set up a replay system to update the translation templates addons/i18n/*.pot
on LP with the latest terms from master/v8.0 in GitHub. And in the other direction, we will replay the PO updates addons/i18n/*.po
from LP to GitHub.
After the release of v8 we will set up a new translation process, probably built on top of Transifex.
The Odoo Apps library (formerly OpenERP Apps) will evolve soon and add support for git branches in addition to existing bzr branches.
The former OpenERP Help contents has already been migrated to the new Odoo Help platform, based on the website_forum Odoo App. Everything has been preserved as much as possible (questions, answers, comments, profiles, karmas, badges, etc.)
As GitHub has no mailing-lists, we will gradually phase out the Launchpad lists and move them to Odoo discussion groups on odoo.com. This will be announced in each mailing-list before shutting them down. Mailing list archives will stay available for the foreseeable future (on LP itself and on nabble, for instance).
The technical/developer documentation and the community book will be moved to the Odoo wiki or .rst/.md files in the odoo repo, to make collaborative editing easier. They are likely to remain in English only.
The technical memento is being updated for v8 as well and will be available in this form soon too.
The functional documentation for v8 is being rewritten/updated and will be published in the form of cookbook recipes on the new Odoo Help platform, as FAQ entries. Selected FAQ entries will be structured with a Table of Contents, and will be editable by everyone according to their karma.
The previous versions of the functional documentation archives will be preserved at their old locations.
These new FAQ entries will probably be automatically translated in several languages (TBD).
The move to GitHub had been proposed several times in the past by the community, and is driven by compelling reasons:
- Launchpad.net and Bazaar are currently on life support, barely maintained anymore and suffering from many performance issue and bugs. For example most pages displaying a list of OpenERP items on Launchpad (bugs, merge proposals, translations, etc.) are now failing with a timeout more than 50% of the time. As the OpenERP/Odoo project continues to grow in all aspects, these performance issues only get worse with time.
- Git is a clear winner in the VCS war, regardless of its good and bad sides. This means that newcomers are more likely to be familiar with git and GitHub than with anything else (such as mercurial), and using Launchpad/Bazaar would make the learning curve much steeper for them. Old-timers will have no choice but to become familiar with git for other projects, so it is a good investment in any case.
It is not a small change and certainly comes with challenges and sweat, but we think it is worth it. We will try to preserve as much as possible (data and work) in the transition process.
Website | Online Demo | Community | Documentation | Help
Boost Sales: CRM | Point of Sale | Quote Builder | Mass Mailing | Survey | Events
Build Websites: CMS | eCommerce | Blogs | Forum | Get a Free Website
Run Operations: Projects | Billing | Accounting | Inventory | Manufacturing | Procurements
Delight Employees: Employees | Enterprise Social Network | Recruit | Expenses | Appraisals | Fleet