-
Notifications
You must be signed in to change notification settings - Fork 13
CropME contributing workflow
Contributors are invited to follow this process to interact with the project and allows an effective collaboration work. The following steps are common to the contribution to any CropME repository.
For more information on github project contribution, please see Rob Allen’s article
Contents
- Fork a CropME project repository & clone locally
- Create an upstream remote and synchronize with your local copy
- Create a new branch
- Add a CropML DTD, a model unit, a tool, a library or any file/repositoryon a branch and write commit message
- Push your branch to your origin repository
- Create a new pull request
- Respond to any pull request and give your feedback
- Pull a remote branch from a fork repository of an AMEI member
- Make issues
- Update the documentation
You have to fork any CropME repository to obtain its copy in your github account. After accessing to CropME Github project , select one repository and just click on “Fork” button in Github. You click on “clone and download” button on your github account and copy the SSH clone URL, and you clone it by this command:
git clone SSH_Clone_URL
You change SSH_Clone_URL by the copied link.
You need to synchronize the local copy with the original project to allow the update of local copy:
git remote add upstream SSH_Clone_URL
with SSH_Clone_URL the SSH Clone URL of the main repository
It is recommended to create a new branch to put each part of your work. Before creating it, be sure that you have all the upstream changes (main github project) from the origin master:
git checkout master (to branch on master) git pull upstream master (to synchronize with the main project)
To create a new branch and access to it:
git checkout -b new_branch
Add a CropML DTD, a model unit, a tool, a library or any file/repositoryon a branch and write commit message
You select the repository in which you want to contribute. For example, if you want to update CropML DTD, you choose CropML repository and add its update:
git add modelunit.dtd
Write a commit message:
git commit -m “commit message”
To update your branch in your fork repository:
git push origin name_branch
Sometimes this step can generate an error message. This is when there is a difference between the remote and the local repository. To address this, pull the latest changes before updating:
git pull origin name_branch
After pushing your changes on your Github fork, you send a pull request by clicking “New Pull Request” button in your account.
This allows AMEI team to review your change and discuss
together on the potential changes before pushing them on the main repository. You select the reviewers in the right of he page and write some comments to explain your changes or contribution
This part is very important. The faster the team reacts the faster the branches will be merged with the master branch and the work will evolve. After a member requests some feedbacks, you click on the request in the main project and add some comments about it.
If the changes are not reviewed and merged on the main repository, it won’t be possible to pull from the main repository.
But we need to check out a new branch and test the changes
(model unit added for eg) to review or make some process from your local repository:
git checkout -b membername-newbranch master git pull https://github.com/membername/xml_representation.git newbranch
Make issues by clicking on “New Issue” in the main project to share any problems, tasks or future work that we are required to think about. This can be for:
- Bug
- Enhancement
- Help
- Question
- Future work