Skip to content
This repository was archived by the owner on Apr 10, 2025. It is now read-only.

Process

jeffkaufman edited this page Jan 23, 2013 · 9 revisions

Code should follow the Google style guide.

The code on the master branch should always build, pass tests, and be a jumping off point for anyone else working on ngx_pagespeed. It builds against a documented version of mod_pagespeed, and contains headers and binaries for that version.

All code changes need to be reviewed by someone else, ideally including someone at a different site. Work on a change in a branch labeled yourname-description (ex: jefftk-blocking-rewrite) and push often so that other people can see what you're doing. When you have something ready to merge to master create a pull request and notify ngx-pagespeed-discuss so we can all look at it. After approval someone with commit access will squash the branch into a single commit and merge it into master.

Before we can accept a patch from someone Google needs to have an individual or corporate contributor license agreement (CLA) on file for them.

The trunk-tracking branch is a version of master that has fixes to work with the trunk version of mod_pagespeed. While trunk-tracking should be able to compile against a mod_pagespeed svn revision it won't necessarily compile against the current one because of api changes. When this happens pull requests are welcome. The mod_pagespeed binaries and headers in trunk-tracking make no attempt to be correct; with trunk-tracking you have to build mod_pagespeed from source. Changes from master are merged into trunk-tracking on a best-effort basis.

Clone this wiki locally