Code Search
===========
There are a number of ways to search the Skia codebase, each with advantages and
disadvantages.
[cs.skia.org](http://cs.skia.org) redirects to
[Chromium code search](https://code.google.com/p/chromium/codesearch) restricted
to the Skia portion of the Chromium tree. You can add a query after the slash;
e.g. [cs.skia.org/foo](http://cs.skia.org/foo) will search for "foo" within the
Skia tree. Chromium code search provides cross-references.
For Googlers, there is also the option of [the skia depot](http://cs/#skia/) in
internal Code Search. In addition to the
main [skia](http://cs/#skia/skia/) repo, internal Code Search indexes the
[buildbot](http://cs/#skia/buildbot/), [common](http://cs/#skia/common/),
and [skia_internal](https://cs/#skia/skia_internal/) repos. However,
cross-references and code analysis are not available.
The Github mirrors of the [skia](https://github.com/google/skia) and
[skia-buildbot](https://github.com/google/skia-buildbot) repos are useful for
investigating history and blame, or for exploring release branches or other
branches. However, the search functionality is fairly limited, cross-references
are not available, and in history the original committer's username is replaced
with that person's Github username.
You can also navigate through the
[Skia repos on googlesource.com](https://skia.googlesource.com/). All commits
appear here first.
Code search option |Search |XRef |History |Repos |Branches |Freshness
--------------------|-------|-----|--------|------------------------------|---------|---------------
[cs.skia.org][1] |regexp | yes |yes |skia |master |last DEPS roll
[Internal][2] |regexp | no |yes |skia buildbot common internal |master |hours
[Github][3] |basic | no |yes |skia buildbot |all |hour
[googlesource][4] |none | no |yes |all |all |N/A
[1]: http://cs.skia.org/ "Chromium code search"
[2]: http://cs/#skia/ "Internal Code Search"
[3]: https://github.com/google/skia "Github mirror of skia"
[4]: https://skia.googlesource.com/ "Master Skia repos on googlesource.com"
Client code search
------------------
There is an [internal tool for
Googlers](https://goto.google.com/skia-client-search) to make it easier to
search the repos of Skia clients, e.g. Chromium, Android, and Mozilla. If you
use it and have suggestions, please let dogben know.