aboutsummaryrefslogtreecommitdiffhomepage
path: root/projects
diff options
context:
space:
mode:
Diffstat (limited to 'projects')
-rw-r--r--projects/libaom/README.md52
1 files changed, 52 insertions, 0 deletions
diff --git a/projects/libaom/README.md b/projects/libaom/README.md
new file mode 100644
index 00000000..5d90b688
--- /dev/null
+++ b/projects/libaom/README.md
@@ -0,0 +1,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