Skip to content

Instantly share code, notes, and snippets.

@kevin-brown
Last active August 29, 2015 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kevin-brown/13958a4d5dafc2b06db8 to your computer and use it in GitHub Desktop.
Save kevin-brown/13958a4d5dafc2b06db8 to your computer and use it in GitHub Desktop.
MouseTrap development workflow

Development workflow

Over the summer we switched our workflow to include GitHub in order to help up facilitate the rewrite of MouseTrap. Now that the summer is over, we are left wondering how we should handle contributions to the project.

MouseTrap workflows

MouseTrap has had two main workflows during the time that I have been on the project.

Old workflow

  1. Create ticket in Buzilla for the problem
  2. Create fix in a local git repository
  3. Squash multiple commits into a single commit if needed
  4. Upload and attach patch in Bugzilla
  5. Patch is reviewed and approved through Bugzilla
  6. Committer applies patch to the GNOME repository

Temporary workflow

  1. Create ticket in GitHub repository
  2. Create fix in a GitHub fork / main repository
  3. Open pull request referencing ticket pointed at the fix branch
  4. Patch and reviewed through GitHub
  5. Pull request is merged into the GitHub repository

Other project workflows

I looked at a few other projects to see what workflows they used for contributing to the project.

Django

https://docs.djangoproject.com/en/dev/internals/contributing/

  1. Create a ticket in Trac
  2. Create a fix in a GitHub fork
  3. Open pull request referencing the Trac ticket
  4. Link to the pull request in the ticket
  5. Patch is reviewed through GitHub
  6. Multiple commits are squashed into one when accepted
  7. Committer applies the patch to the GitHub repository

OpenCV

http://code.opencv.org/projects/opencv/wiki#Reporting-bugs

  1. Create a new ticket in the tracker (ChiliProject)
  2. Create a fix in a GitHub fork
  3. Squash commits so one ticket is covered per commit
  4. Open pull request referencing the ticket
  5. Committer merges the pull request into the GitHub repository

Proposed workflows

Drop GitHub tickets

  1. Create a ticket in Bugzilla
  2. Create a fix in a GitHub fork
  3. Open pull request referencing the Bugzilla ticket
  4. Link to the pull request in the ticket
  5. Patch is reviewed through GitHub
  6. Multiple commits are squashed into one when accepted
  7. Committer applies the patch to the GNOME repository

Drop Bugzilla

  1. Create ticket in GitHub repository
  2. Create fix in a GitHub fork / main repository
  3. Open pull request referencing ticket pointed at the fix branch
  4. Patch and reviewed through GitHub
  5. Pull request is merged into the GitHub repository
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment