-
Notifications
You must be signed in to change notification settings - Fork 9
Home
This repository contains DITA specializations that were originally created by the DITA TC as part of the DITA specification but were removed (i.e., in the transition from DITA 1.x to DITA 2.x).
The branch "main" represents "released" code, that is, things that have been fully tested, verified, and deemed ready for general use.
The branch "develop" represents active development. All new and changed code must be merged to develop (from feature branches) and reviewed by the relevant stakeholders before being released to the main branch.
All changes should be developed on and pushed to this repository via a feature request that is then assigned for review and approval as appropriate.
All changes should be developed in the context of an issue logged in this project's issue list. Use the issue number in the feature branch name and in commit messages (i.e. "#2: Corrected public IDs for learning and training modules").
The general process is:
-
In your local clone, do:
git fetch --prune git checkout develop git pull
-
Create a new feature branch to do your work on:
git checkout -b feature/issue-99-correct-typo-in-something
-
Do your work, committing to your feature branch as needed.
-
When you think your work is ready to merge or you need other contributors to look at, push your branch to GitHub:
git push -u origin feature/issue-99-correct-typo-in-something
-
Go to the dita-specializations project on GitHub. You should see a message that your branch was just pushed and asking you to create a pull request ("Compare and pull request"). Click the "Compare and pull request button" to create the new pull request.
-
In the pull request form, add any relevant details for reviewers (if any) and add reviewers if your change requires a review. Set any other properties as appropriate.
-
Create the pull request.
-
If the request requires review, nag your reviewers until they do the review you need. You can continue to make changes on the feature branch and push them to GitHub--the pull request will reflect those changes. The pull request can serve as a channel for working through review comments.
-
If the merge request is approved or otherwise ready to be merged, click on the "Squash and merge" button (the repository only allows squash and rebase merges and you should almost always use squash merges). Update the commit message as appropriate and do the merge.
-
If the merge is not approved or your change is otherwise not something that should be merged, simply delete the merge request.
-
In either case (merge or abandon), delete the feature branch from GitHub
-
In your local clone, do the following:
git fetch --prune git checkout develop git pull git branch -D feature/issue-99-correct-typo-in-something
The
fetch --prune
records the fact that the feature branch was deleted from the remote repository and gets the latest data for the develop branch. The-D
(uppercase D) flag forces deletion of the branch, which git otherwise refuses to do because it sees the branch as "not fully merged" due to the squash merge into develop. But you know it's safe to delete the branch because you just merged it and you saw the changes from it coming down on the develop branch.
You're now ready to make a new feature branch for your next contribution.