Skip to content
marpaia edited this page Sep 5, 2014 · 7 revisions

All osquery development occurs in feature branches and all contributions occur via GitHub Pull Requests. All code must be reviewed, even if it's written by members of the core team, so following the code review process is critical to successful osquery development.

There are two possible scenarios which you may find yourself wondering how to go about developing and pushing code to osquery.

You have push access to the osquery repository

If you're a member of the core team at Facebook or you, in some other way, have acquired push access to https://github.com/facebook/osquery, then feel free to do your development on feature branches.

Before you start working on your feature, ensure that you create your branch off of a fully-updated master.

# make sure that you're currently on master
$ git branch
  * master
    new-feature-1

# before you start working on your feature, make sure that you update master
$ git pull --rebase origin master

# create a new branch to work on off of master
$ git checkout -b new-feature-2

# check that you've properly switched to your new branch
$ git branch
  * new-feature-2
    new-feature-1
    master

Now that you're on your own feature branch, do some development, commit your changes and, when you're ready, push the new branch to origin:

$ git push -u origin new-feature-2

The "-u" is for "untracked". Since you just created a new branch locally, the "-u" basically tells git that you know that the branch doesn't exist remotely and that you want to create it.

Every time you push from now on, on this branch, you can just do git push.

When you're ready to have your code reviewed, create a new pull request with your new branch.

You're an open source contributor

Clone this wiki locally