This document provides guidelines for contributing to the Data Product (DPROD) specification using a Git workflow designed for issue-based development and a formal OMG balloting process.
main— The officially accepted OMG standard.develop— The working branch where the Enterprise Knowledge Graph Forum (EKGF), an OMG community, continues to evolve the standard.- Issue branches — Created from
developfor each issue, named after the OMG JIRA issue number (e.g.,DPROD-16). - Ballot branches — Created by the ballot administrator
to group issue branches for a formal vote (e.g.,
ballot/3).
- Create a branch: For every issue you work on, create a dedicated
branch from
develop. Name it after the OMG JIRA issue number (e.g.,DPROD-16). - Isolate changes: Only commit changes related to the specific issue on that branch. Keep commits concise and focused.
- No pull requests for issue branches: Do not create a pull request for your issue branch. Issue branches are included in a ballot branch by the ballot administrator, and only the ballot branch gets a pull request.
-
Rebase from
develop: Regularly rebase your issue branch to incorporate the latest changes. This helps prevent merge conflicts and keeps your branch current.git checkout DPROD-16 git rebase develop
-
Avoid merging from other branches: Do not merge changes from other issue branches into yours. If absolutely necessary, use squash merging to maintain a clean history.
- Notification: You will be notified when your issue is being considered for a ballot.
- Ensure your branch is ready: Make sure your issue branch is
up-to-date with
develop(rebase if needed) and that all commits are clear and well-organized.
- Pull request: The ballot administrator will create a pull request
for the ballot branch (e.g.,
ballot/3), which includes your issue branch. - Review: Review the ballot pull request as a whole or examine your individual issue branch to ensure the changes are correct. Provide feedback or approvals as needed.
- Merge to
develop: If the ballot passes, the administrator will merge the ballot branch intodevelop. - Rejected issues: If your issue is rejected in a ballot:
- Address the feedback provided.
- Rebase your branch from
develop(after the ballot branch is merged). - Optionally rename your branch (e.g., add
.1) to indicate the revision. - Your issue will be included in a future ballot.
- Commit messages: Write clear and informative commit messages that explain why the change was made, not just what changed.
- Issue tracking: Keep both
GitHub Issues and
OMG JIRA updated with the
status of your work. Reference the OMG JIRA issue number in your
branch name and commit messages (e.g.,
DPROD-16), and reference the GitHub issue number where applicable (e.g.,#29). - Communication: Communicate with the ballot administrator and other team members throughout the process, especially if you have questions or encounter issues.