GrepServlet: add JSON content search endpoint

Add a +grep endpoint that searches blob contents at one revision using
JGit TreeWalk and ObjectReader.

This starts the git grep part of the Gitiles search issue without adding
an index or UI. The endpoint is JSON-only for now and keeps the search
bounded by skipping binary or large blobs and stopping after a fixed
number of matches.

Issue: 376381593
Change-Id: I351e81bb378d2a759c6b5c6d686199c598c6e886
6 files changed
tree: 2350a5ccfafb581801c190482e3df98ffc080e80
  1. .settings/
  2. Documentation/
  3. java/
  4. javatests/
  5. lib/
  6. modules/
  7. resources/
  8. tools/
  9. .bazelignore
  10. .bazelrc
  11. .bazelversion
  12. .gitignore
  13. .gitmodules
  14. .mailmap
  15. .zuul.yaml
  16. BUILD
  17. COPYING
  18. external_deps.lock.json
  19. fake_pom_deploy.xml
  20. MODULE.bazel
  21. MODULE.bazel.lock
  22. navbar.md
  23. README.md
  24. version.bzl
README.md

Gitiles - A simple JGit repository browser

Gitiles is a simple repository browser for Git repositories, built on JGit. Its guiding principle is simplicity: it has no formal access controls, no write access, no fancy Javascript, etc.

Gitiles automatically renders *.md Markdown files into HTML for simplified documentation. Refer to the Markdown documentation for details.

Configuration

Gitiles is configurable in a git-style configuration file named gitiles.config. Refer to the configuration documentation for details.

Bugs

Use gerrit's issue tracker to file bugs.

Contributing to Gitiles

Please refer to the Developer Guide.