Open main menu

CDOT Wiki β

DPS909/OSD600 Fall 2018 Lab 2

Revision as of 15:52, 27 September 2018 by Smprashad (talk | contribs) (Submission)

Start Contributing to an Open Source Project

Due Date

Monday Sept 24th.


This lab will help get you started on your 0.1 release. Here is a checklist of what needs to be done (see below for more details):

  • Install and set-up git
  • Create a GitHub Account
  • File an Issue to work on in Filer
  • Create a fix for your Issue, learn how to add, commit, push commits in git
  • Create a Pull Request in Filer's repo on GitHub with your fix
  • Add your Name and URLs to the table at the end of this lab

Setup Git and GitHub

We'll use git and GitHub throughout this course to contribute to open source projects. You'll need to get both properly setup, installed and configured. Follow the instructions from the Week 3 notes to get your name, email, editor, line endings, etc. setup for git, and create an account for yourself on GitHub

File an Issue with Filer

You need to file an Issue in Filer to work on for your release. Using your recent research on Filer's fs module, pick a test you want to write for one of the methods. It is recommended that you add a test for one of the fs.promises methods and code paths, since there are currently none. Make sure it doesn't already exist, and that no other student has filed it already, and file a New Issue:

  • Talk about the method and test you are going to write
  • Keep your test small and focused: only test 1 thing in a test. It's better for us to have lots of small tests rather than a few big ones.
  • Show a short snippet of code to demonstrate the particular behaviour you will be testing.
  • If you are planning to work on this test, indicate so in the issue, (i.e., "I'd like to be assigned this issue so I can work on it.").

Fix your Issue

Once you have an Issue assigned to you, begin working on a fix:

  • Fork and Clone Filer
  • Create and checkout a branch for your work, naming it after your issue. For example, if you are fixing Issue #452, create a branch named "issue-452".
  • Test code for Filer lives in tests/ and tests/spec. You can likely add to a file there. If are unsure, ask in your Issue for advice.
  • Add, commit, and push your branch when you are done, or when you are close to done and want feedback.
  • Create a Pull Request for your fix. Your Pull Request should reference your Issue #, and describe what the change is doing. is an example.

It is OK to submit a Pull Request that isn't 100% perfect or done yet for this first attempt.

Work in the Open

Everyone will struggle with some aspects of this lab and assignment. It's meant to immerse you in the open source contribution process. Don't be overwhelmed, you aren't alone, and there's nothing wrong with you! I want you to learn to work in community, ask for help, and give help as you are able:


You will have completed your lab when you have filed an issue, create a pull request, and added the links to the table below:

Name My GitHub (URL) My Filer Bug (URL) My Filer Pull Request (URL)
Mykola Skuybeda
Stuart Crust
Oluwaseyi Aketepe Working Working
Alexander Ponomaroff
Ryan Vu (Tien Phat)
Allan Zou
Joshua Mayers
Jeffrey Espiritu
Volodymyr Klymenko
Michael Overall
Dilan Guneratne
Yoosuk Sim
Robert Dittrich
Xuan Dinh Truong
Minying Chen
Nathan Misener
Corey James
Yeonwoo Park
Stephen Truong
Brendan Hung
Daniel Bogomazov
Oleksii Kozachenko
Brett Larney
Julia McGeoghan
Steven Le
Jagmeet Bhamber
Maya Filipp
Thomas Nolte
Matthew Phan
Dan Lin
Shawn Pang
Stephen Ward
Xiaochen Wang
Deepanjali Gerangal
Adam Kolodko
Mark Krutik
Andriy Yevseytsev
Yuecheng Wu
Wang Pan
Muchtar Salimov
Karan Sandhu
Yuzhou Chen
Vincent Wong
Victor Kubrak
Mera Gangapersaud
Thanh Nguyen
Qingwen Wang
Ruihui Yan
Sean Prashad
Joshua Jadulco
Derrick Leung
Huda Al Dallal
Peng Qu
Shawn Mathew
Shreena Athia
Yuliya Yatsenko
Alex Kong