aboutsummaryrefslogtreecommitdiffhomepage
path: root/projects/libaom/README.md
blob: 5d90b688ce62c0a71cb77c38110b6b87b0b95b9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Submit a Patch to oss-fuzz repo

## One-time Setup

1.  Create github account if needed (with @google.com email address, preferably)
    and log in.
1.  To allow “git push” to work, you’ll have to add an SSH key:
    https://help.github.com/articles/connecting-to-github-with-ssh/
1.  Go to https://github.com/google/oss-fuzz and click on “Fork”.
1.  Go to your own fork of the repo, which will be at
    https://github.com/\<git_username\>/oss-fuzz
1.  Click on “clone or download” and pick “Clone with SSH” method (I found that
    easier to use for “git push”). Then copy that URL and run “git clone \<URL\>”
    in terminal. Now you have a local repo, and **your fork** of the remote repo
    will be called “**origin**” in your git config.
1.  Configure a remote repo pointing to the **upstream repo**
    (https://github.com/google/oss-fuzz) so that it’s called “**upstream**”:
    *   cd \<local_oss_fuzz_repo_directory\>/oss-fuzz
    *   git remote add upstream git@github.com:google/oss-fuzz.git
    *   git remote -v

NOTE: For trivial changes it's possible to edit the files in the web UI on the
main project and create a commit + pull request from that.

## Workflow for a Pull Request (Patch)

1.  Go to your repo:
    *   cd \<local_oss_fuzz_repo_directory\>/oss-fuzz
1.  Create a new branch:
    *   git checkout master
    *   git checkout -b new_feature_xyz
1.  Make your changes and commit them locally with “git commit”
1.  Push your changes to your fork on github
    *   git push -u origin HEAD
    *   (This will create a branch of the same name “new_feature_xyz” on your
        fork “origin”).
1.  Open your fork in browser and click on “Compare & pull request” and follow
    the prompts.
1.  If changes are requested to the patch:
    *   make changes to the same local branch
    *   commit them locally with “git commit” (but DO NOT amend!)
    *   git push -u origin HEAD
1.  Once pull request is closed:
    *   Delete “new_feature_xyz” branch on your fork using the “Delete branch”
        button on the pull request
    *   Delete local “new_feature_xyz” branch locally with “git checkout master
        && git branch -D new_feature_xyz”
    *   Sync your local repo and your fork with upstream repo:
        *   git checkout master
        *   git fetch upstream
        *   git merge upstream/master
        *   git push origin master