Release 0.1 require us to use GitHub as open source tool to fix issues. In this assignment need to find an issue first and then you fix the code on by clone the source file to the local. I kind of challenging for me because I was a few take looks others code before, and also need I try to understand the logic.
Looking for worth issue
The first step in contributing is to find an issue that is worth solving. Choosing the right issue is not easy, you also need to see if anyone is already solving the problem. You can check if this issue has been answered by someone else, or search the Pull Requests list to see if anyone is already solving it, otherwise it will be wasting precious time.
In Release 0, I find there is no test for fsPromises.symlink(), then I create this issue and put @ sign to mention the teacher that I will fix this issue.
I found there is no promises version of the fs.symlink() test function. And I would like to create one, make sure an…github.com
The reason for choosing this issue is that no one else is leading the task. So I replied with an “I’ll work on this”. It is not only to inform the professor, but also to tell others that we are already responsible for solving this issue, please do not repeat the work.
Now, It is a good start and let us fix this issue.
Step 1 : Fork original repository
Since I don’t have write permission for Filer, I can’t use git push to push changes. However, I can use Fork to my own GitHub account. GitHub will generate Filerjs/Filer for me. For this Fork repository, I have all the permissions (clone, modify, or even delete the repository). At this time, I can make any changes I want.
Step 2: Clone the Forked repository to the local
$ git clone https://github.com/xwang345/filer.git
Step 3: Create a new issue branch
$ git checkout -b "issue477"
Here I created a new branch name as “issue477”. When I creating a branch, I try to make it easy to remember and easy to identify. There are two advantages to doing this:
— It is convenient to switch jobs on multiple branches.
— Facilitate repository owner maintenance after submitting pull request.
Step 3: Fix the issue and push to my forked repo.
$ git push -u origin issue477
Discussion and review
The next step is to wait, and after a few hour somebody replied to me.
I put the pull request website and screenshot here.
Added a new file to test for fs.promises.symlink function. This will fix #477 bug.github.com
I find there is one guy replied me how to call the promises method from the library. I take this guy opinion and implement into my code by create new commit to GitHub.
Many open source projects ensure code quality through Continuous Integration (CI). Each time a pull request, CI will checks, such as code style checking, unit testing, and more.
Peer Code Review:
I looked at a pull request which created by Janice0218, and I found a code style issue.
This pull request fixes issue #529github.com
Offering Other help:
In the class time, I also help my classmates who don’t know how to use GitHub command. I spent my time on class for helping them to understand it.