# OADP Git repo branch and remote naming + go.mod sync This document describes - **remote naming convention** to make it possible to automte rebases across all the repositories in a similar way. - **branch naming convention** of the oadp repositories to make it easier to automate dependency. ### Repositories The following repositories will follow the branch and remote naming convention and the go.mod between them will be automatically synced kubevirt/kubevirt-velero-plugin migtools/oadp-non-admin openshift/oadp-operator openshift/openshift-velero-plugin openshift/velero openshift/velero-plugin-for-aws openshift/velero-plugin-for-gcp openshift/velero-plugin-for-legacy-aws openshift/velero-plugin-for-microsoft-azure openshift/oadp-must-gather /** source code for the oadp-must-gather extracted to a new repository from the oadp-operator **/ ### Remote naming convention ENV Variables for those, with defaults to: origin - our personal fork openshift - always points to our own repository (our fork) - example: ***github.com:migtools/kopia.git*** upstream - only if our repository has an upstream (one-level fork) - points to the immediate upstream repository we forked from - example: ***github.com:project-velero/kopia.git*** grand-upstream - only if this is a two-level fork (fork of a fork) - points to the original "grandparent" repository (upstream of upstream) - example: ***github.com:kopia/kopia.git*** ### Branch naming convention oadp-dev - default primary branch in all repositories oadp-x.y - release branches, where x and y are major and minor version numbers - examples: oadp-1.4, oadp-1.5, oadp-1.5.1 hotfix/oadp-x.y-jira_issue - branches for urgent fixes Branch names should be lowercase, use hyphens to separate words, no spaces. Keep branch names concise but descriptive. ### go.mod updates Current problem: - go.mod isn't always up to date across all the repositories. - The pointers in between modules which we maintain are also not proper - they do not always point to the internal forks of the repositories. E.g. kopia repository is pointing to the upstream. Solution: - Automate updates to check if proper go.mod versions are used, include this test as part of the `unit? test` and/or github action. - Create migtools/oadp-umbrella where we will include automation via github action to ensure all the repositories and it's go.mod files are in sync. ### Reinventing Wheel? perhaps look into dependabot {%preview https://github.com/vmware-tanzu/velero/blob/main/.github/dependabot.yml %} https://github.com/openshift-eng/rebasebot