diff --git a/sample_files/oca_modules.txt b/sample_files/oca_modules.txt new file mode 100644 index 000000000..adb516066 --- /dev/null +++ b/sample_files/oca_modules.txt @@ -0,0 +1,15 @@ +# List the OCA satellite projects to merge into this repo +# Format + +# Examples +# ======== +# +# To integrate the modules in the 'OCA/web' repository, use: +# web +# +# To explicitely give the URL of a fork, and still use the version specified in +# .travis.yml, use: +# web https://github.com/OCA/web.git +# +# To provide both the URL and a branch, use: +# web https://github.com/OCA/web.git branchname diff --git a/tests/test_repo/oca_modules.txt b/tests/test_repo/oca_modules.txt new file mode 100644 index 000000000..a6bb7e1a4 --- /dev/null +++ b/tests/test_repo/oca_modules.txt @@ -0,0 +1,4 @@ +# List the OCA satellite projects to merge into this repo +# Format + +integrated-repo https://github.com/OCA/maintainer-quality-tools.git test-dependencies diff --git a/travis/clone_oca_dependencies b/travis/clone_oca_dependencies index 616bd8923..705c9445e 100755 --- a/travis/clone_oca_dependencies +++ b/travis/clone_oca_dependencies @@ -68,6 +68,22 @@ def git_clone(checkout_path, reponame, url, branch): return checkout_path +def git_merge(checkout_path, reponame, url, branch): + if osp.isdir(checkout_path): + run_shell( + ['git', 'config', '--global', + 'user.email', 'bot@odoo-community.org']) + run_shell( + ['git', 'config', '--global', + 'user.name', 'OCA Bot']) + run_shell( + ['git', '-C', checkout_path, 'fetch', url, branch]) + run_shell( + ['git', '-C', checkout_path, 'merge', '--no-edit', + '-X', 'ours', 'FETCH_HEAD']) + return checkout_path + + def clone_repos(method, deps_path, deps_name, target_path): """Recursively install all dependency repositories @@ -104,6 +120,8 @@ def install_requirements(parent_path): def run(deps_checkout_dir, build_dir): + clone_repos( + git_merge, build_dir, 'oca_modules.txt', build_dir) clone_repos( git_clone, build_dir, 'oca_dependencies.txt', deps_checkout_dir) install_requirements(deps_checkout_dir)