+:orphan: true
+
=============
Bazaar to git
=============
Use the easy-setup shell script::
- curl https://raw.github.com/odoo/odoo/master/checkout.sh | sh
+ curl -O https://raw.githubusercontent.com/odoo/odoo/master/odoo.py | python2
it will will ask a few questions and create a local copy.
-.. note:: if the repository is private, you have to download it manually then
- execute it wherever you want your working copy to be created, go to
- https://github.com/odoo/odoo/blob/master/checkout.sh then click the
- :guilabel:`Raw` button.
-
Git concepts
------------
the official repository and main branches, roughly corresponds to the old
"mainline" branches in bazaar. You should never need to push to it, and by
default your local copy is configured to forbid it.
-``dev``
+``odoo-dev``
a grab-bag of development branches, you can push your work to it so other
coworkers can work with you.
* update your remotes with ``git fetch --all``
* create your development branch with ``git checkout -b <branch_name>
<source_branch>``. For instance if you wanted to add support for full-text
- search in trunk you could use ``git checkout -b trunk-fts-xxx odoo/trunk``
+ search in master you could use ``git checkout -b master-fts-xxx odoo/master``
* do your changes, stage them with ``git add`` and commit them with ``git
commit``
* if your branch is long-lived, you may want to update it to its parent
- update the remotes with ``git fetch --all``
- merge the remote branch into the local one with ``git merge --no-ff
- origin/trunk``
-
- .. note::
-
- * should we promote rebase? That would lead to cleaner histories, but
- if the branch is already pushed it requires force-pushing since the
- branch can't be fast-forwarded
- * git automatically creates a merge commit, should we configure merge
- with --no-commit?
- * make --no-ff the default in the config script?
- * warn about ``git pull``? It is ~ ``git fetch; git merge`` and should
- probably be avoided
+ odoo/master``
* to push the branch to the development repository, use ``git push -u dev
<branchname>``, this will automatically create a branch called
``<branchname>`` on dev. Next time around you do not have to use ``-u``
* once the feature is done, create a pull request
- .. note:: CLI tools?
+.. should we promote rebase? That would lead to cleaner histories, but if the
+ branch is already pushed it requires force-pushing since the branch can't
+ be fast-forwarded
+
+.. git automatically creates a merge commit, should we configure merge with
+ --no-commit?
+
+.. make --no-ff the default in the config script?
-.. note:: format for specifying issues? e.g. closes #42?
+.. warn about ``git pull``? It is ~ ``git fetch; git merge`` and should
+ probably be avoided
+
+.. CLI tools?
+
+.. format for specifying issues? e.g. closes #42?
Tasks
-----
+Converting your feature branches from bazaar
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+`The readme`_ has some instructions.
+
Viewing history: ``git log``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* ``git log``'s second positional argument is a path (file or
directory). Because both are optional, if both a revision and a file match
the revision will be selected. It is recommended to use ``--`` before a file
- path:
-
- .. code-block:: console
+ path::
git log -- filepath
.. [#log-patch-empty] but only the changes performed by this actual commit,
for a merge the merged changes are not considered part
of the merge commit
+
+.. _the readme: https://github.com/odoo/odoo/blob/master/README.md#migration-from-bazaar