Handle an OpenMRS Ticket (Activity)
- Description: Use git and Eclipse to handle an OpenMRS ticket.
- Source: Ben Coleman
- Prerequisite Knowledge: A working github account, Eclipse configured for OpenMRS
- Estimate Time to Completion: 60 minutes plus time to solve the ticket
- Learning Objectives: Ability to
- fork, clone, checkout, and commit code using git and github.
- follow the process defined by OpenMRS for tickets.
- Materials/Environment: Access to Internet / Web and web browser, git, Eclipse
- Additional Information: N/A
- Rights & Licensed: CC BY-SA FIXME check that this license is appropriate
- Turn In: None
Watch the OpenMRS University video, http://www.youtube.com/watch?v=SbbDvMVgRWo entitled, “OpenMRS University: Contributing Code.”
Handle a Ticket
The following steps are followed in the video:
- Claim the ticket
- Fork the appropriate repository on github.
- The project name is in the upper-left corner of the ticket next to the ticket id.
- Clone the repository to your local machine.
- git clone <math><</math>repository url<math>></math>
- The repository url should point to the forked copy on your github account.
- Set the upstream repository
- git remote add upstream <math><</math>repository url<math>></math>
- The repository url should point to the original copy of the project on github.
- You must be in the project directory for this command to succeed.
- Fetch all the current branches of the project.
- get fetch –all
- FIXME I don’t quite understand why this is necessary. What did we have after the clone?
- Pull all changes from the upstream master
- git pull –rebase upstream master
- FIXME In the video and on my sample ticket, there were no changes. I don’t understand how there could be after the fetch (much less after the clone).
- Create a branch to work in
- git checkout -b <math><</math>branch name<math>></math>
- Use the ticket identifier as the branch name.
- Import the project into Eclipse
- Use the “Browse..” button to point at the directory containing the project.
- Tell Eclipse that the project uses git.
- Select all the projects, and then right click. Select “Team” and then “Share Project...” The default opens are correct.
- Do not use “Share Projects” (plural). This is for adding a new form of sharing.
- Handle the issue described in the ticket...
- Add your changes to the staging area of your local repository.
- git add -i for an interactive add.
- git add <math><</math>filename<math>></math> to add specific files
- Commit your changes to your local repository
- git commit -m "<math><</math>ticket id<math>></math>: <math><</math>commit message<math>></math>"
- Push the changes in your branch back to the origin on github.
- git push origin <math><</math>branch id<math>></math>
- Change to the branch on github, and make a pull request
- Include the URL of the ticket.
- Be sure to check the “Commits” and “Files Changed” tabs to be sure you are sending the correct changes.
- Request a code review on the ticket page
- Include the URL of the pull request in the comment for the code review.
- Wait. Someone from OpenMRS will respond to the pull request.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License