The development process for SWEET follows the Review-then-Commit software development process. For more information, see the Subsection below
The following is the SWEET Github development workflow:
- create a local copy of the ESIPFed sweet repo
git clone https://github.com/esipfed/sweet.git
- configure remotes on local - specify the ESIPfed sweet repo remote as 'upstream':
git remote add upstream https://github.com/esipfed/sweet.git
- fetch the branches and their respective commits from the upstream repository:
git fetch upstream
- as with many projects,
master
is our main branch, so if you are proposing to change the codebase, skip to 5 below - log an issue in the sweet issue tracker. Please use labels to classify your issue. If you need a new label to be created then please state this in your issue description.
- create a branch in your local repo which tracks master in upstream. The branch name should reflect the issue number you created above e.g. ISSUE-1
git checkout -b ISSUE-1 upstream/master
- make the changes in your branch & commit - with commit message please! e.g.
git commit -m "ISSUE-1 Test Issue for SWEET"
- synchronise your changes with upstream:
git push upstream ISSUE-1
- within GitHub, create a Pull Request from ISSUE-1 into master ... at this point, you might assign the Pull Request to someone else (preferabbly a subject matter expert) to check before merging
- EDITORS ONLY: Once a review has been undertaken and consensus exists that it is OK, within GitHub, merge the changes into master
- bring all those changes back into your local repo:
git fetch upstream
- rebase (don't 'pull' - because this creates another commit) changes on your branch:
git rebase upstream/master
Additionally, if you wish to discuss SWEET issues with the STC, please contact us via the WG email list.
- Does the term already exist? Before submitting suggestions for new ontology terms, check whether the term exist, either as a primary term or a synonym term. You can search using Github search.
-
Write a detailed request: Please be specific and include as many details as necessary, providing background information, and if possible, suggesting a solution. SWEET editors will be better equipped to address your suggestions if you offer details regarding 'what is wrong', 'why', and 'how to fix it'.
-
Provide examples and references: Please include URI's or external links for new term requests, and include also screenshots, or URLs illustrating the current ontology structure for other types of requests.
-
For new term request: Be sure to provide suggestions for label (name), definition, references, position in hierarchy, etc.
-
For updates to relationships: Provide details of the current axioms, why you think they are wrong or not sufficient, and what exactly should be added or removed.
-
Please consider using the issue template for structuring your issue.
On behalf of the SWEET editorial team, Thanks!