Skip to main content

HowToFilePR

Thank you for your PR, please follow this guide.

Rules

  • Never use your develop branch, use bugfix/bug-summary for each PR.
  • Don't close PR when update, only update the branch bugfix/bug-summary, simple enough.
  • Be focus, one PR fixes exactly one bug/feature, without any noise like space or dead codes.
  • Please study Pro Git, it's a very important and basic skill for open-source developer.

File New PR

The workflow to patch develop or any other branches:

Workflow

Step 1: Fork SRS

Open ossrs/srs, click Fork to your repository.

Step 2: Clone your repository

git clone git@github.com:your-account/srs.git
git checkout -b master origin/master
cd srs

Note: You should setup your git user.name and user.email.

Step 3: Add a remote srs

git remote add srs https://github.com/ossrs/srs.git
git fetch srs

Step 4: Sync with remote before each PR

git fetch --all

Step 5: Checkout a new branch from srs

git checkout -b bugfix/bug-summary srs/develop

Note: Please name your branch, by summary of bug, for example bugfix/rtc-listen-ipv6

Step 6: Update and push to your repository

git push -u origin bugfix/bug-summary

Note: Please use English in code, logs, commit and other text.

Step 7: File a PR from your bugfix/bug-summary to SRS develop

Remark: Please check the Allow edits and access to secrets by maintainers, so we could update the PR.

Update Your PR

After review, you might need to update your PR:

git checkout bugfix/bug-summary
git commit -am 'Description for update'
git push

Note: Don't file a new PR, what you need to do is to commit to your branch, the PR will be updated automatically by GitHub.

Setup Your Email

Please setup your GitHub: Email, please DONOT select the Keep my email addresses private, which makes the commit with strange email address.

And setup user for git commit by:

cd ~/git/srs
git config --local user.name "username"
git config --local user.email "useremail@xxx.com"
git config --list

Please setup these settings to ensure you're in the SRS: Contributors.

TOC: Update PR

Generally, TOC who has write access to SRS also are able to update the PR, please read this post.

Let's take a example of PR #2908:

  • Title: SRT: url supports multiple QueryStrings
  • Fork: https://github.com/zhouxiaojun2008/srs/tree/bugfix/fix-srt-url
  • Branch: bugfix/fix-srt-url

Step 1: Add a remote of PR fork, use SSH to clone the fork repository.

git remote add tmp git@github.com:zhouxiaojun2008/srs.git

Step 2: Update the fork repository, to get the branch.

git fetch tmp

Step 3: Now we got the branch of PR, switch to it.

git checkout bugfix/fix-srt-url

Step 4: Please update the branch, then push to the fork repository.

git push tmp bugfix/fix-srt-url

The PR should be updated automatically.