Submodul¶
Gambaran Umum¶
Submodul Git mengizinkan Anda untuk mengintegrasikan project Git lainnya ke code Anda, tanpa harus menyalin-menempel semua code mereka.
Betul, modul kustom Anda dapat bergantung pada modul-modul dari repository lainnya. Mengenai Odoo, fitur ini mengizinkan Anda untuk menambahkan modul dari repository Git lainnya ke branch repository Anda. Menambahkan ketergantungan ini ke branch Anda melalui submodul membuat deployment code dan server Anda lebih mudah, karena Anda dapat meng-clone repository yang ditambahkan sebagai submodul pada saat yang sama Anda meng-clone repository Anda sendiri.
Selain itu, Anda dapat memilih branch repository yang ditambahkan sebagai submodul dan Anda memiliki kontrol dari revisi yang Anda inginkan. Terserah Anda untuk menentukan apakah Anda ingin pin submodul ke revisi tertentu dan kapan Anda ingin mengupdate ke revisi lebih baru.
Di Odoo.sh, submodul memberikan Anda kemungkinan untuk menggunakan dan bergantung pada modul yang tersedia di repository lainnya. Platform akan mendeteksi bahwa Anda menambahkan modul melalui submodul di branch Anda dan menambahkan mereka ke addon path Anda secara otomatis supaya Anda dapat menginstal mereka di database Anda.
Bila Anda menambahkan repository pribadi sebagai submodul di branch Anda, Anda harus mengonfigurasikan deploy key di pengaturan project Odoo.sh Anda dan di pengaturan repository Anda. Bila tidak Odoo.sh tidak akan diizinkan untuk mengunduh mereka. Prosedur ini dirincikan di bab Pengaturan > Submodul.
Menambahkan submodul¶
Dengan Odoo.sh (sederhana)¶
Peringatan
Untuk sekarang tidak memungkinkan untuk menambahkan repository pribadi dengan metode ini. Namun Anda dapat melakukannya dengan Git <odoosh-advanced-submodules-withgit>`.
Di Odoo.sh, di tampilan branch project Anda, pilih branch di mana Anda ingin menambahkan submodul.
Di pojok atas kanan, klik pada tombol Submodul, dan lalu pada Run.

Dialog dengan formulir ditunjukkan. Isi input sebagai berikut:
URL Repository: URL SSH dari repository.
Branch: Branch yang Anda ingin gunakan.
Path: Folder di mana Anda ingin menambahkan submodul ini ke branch Anda.

Di Github, Anda bisa mendapatkan URL repository dengan tombol Clone atau unduh repository. Pastikan untuk menggunakan SSH.

Dengan Git (advanced)¶
Di terminal, di folder di mana repository Git Anda di-clone, checkout branch di mana Anda ingin menambahkan submodul:
$ git checkout <branch>
Lalu, tambahkan submodul menggunakan command di bawah:
$ git submodule add -b <branch> <git@yourprovider.com>:<username/repository.git> <path>
Ganti
<git@yourprovider.com>:<username/repository.git> dengan URL SSH repository yang Anda ingin tambahkan sebagai submodul,
<branch> dengan branch yang Anda ingin gunakan di repository di atas,
<path> dengan folder di mana Anda ingin menambahkan submodul ini.
Commit dan dorong perubahan Anda:
$ git commit -a && git push -u <remote> <branch>
Ganti
<remote> dengan repository pada mana Anda ingin mendorong perubahan Anda. Untuk setup Git standar, ini adalah origin.
<branch> dengan branch pada mana Anda ingin mendorong perubahan Anda. Kemungkinan besar adalah branch di mana Anda melakukan
git checkout
di langkah pertama.
Anda dapat membaca git-scm.com documentation untuk lebih banyak detail mengenai submodul Git. Contohnya, bila Anda ingin mengupdate submodul Anda ke revisi terkini, Anda dapat mengikuti bab Pulling in Upstream changes.
Mengabaikan modul¶
Bila Anda menambahkan repository yang memiliki banyak modul, Anda mungkin ingin mengabaikan beberapa dari mereka bila ada yang diinstal secara otomatis. Untuk melakukan hal ini, Anda dapat memberikan awalan ke folder submodul dengan .
. Platform akan mengabaikan folder ini dan Anda dapat memilih secara manual modul-modul Anda dengan membuat symlinks ke mereka dari folder lain.