diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/CommitSoyData.java b/gitiles-servlet/src/main/java/com/google/gitiles/CommitSoyData.java
index d84721b..86e6184 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/CommitSoyData.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/CommitSoyData.java
@@ -179,7 +179,8 @@
     return ImmutableMap.copyOf(data);
   }
 
-  public Map<String, Object> toSoyData(HttpServletRequest req, RevCommit commit) throws IOException {
+  public Map<String, Object> toSoyData(HttpServletRequest req, RevCommit commit)
+      throws IOException {
     return toSoyData(req, commit, KeySet.DEFAULT);
   }
 
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/DefaultAccess.java b/gitiles-servlet/src/main/java/com/google/gitiles/DefaultAccess.java
index 47054a4..4c624d9 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/DefaultAccess.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/DefaultAccess.java
@@ -206,7 +206,8 @@
     return "refs/heads/" + name;
   }
 
-  private Collection<Repository> scanRepositories(final File basePath, final HttpServletRequest req) throws IOException {
+  private Collection<Repository> scanRepositories(final File basePath, final HttpServletRequest req)
+      throws IOException {
     List<Repository> repos = Lists.newArrayList();
     Queue<File> todo = Queues.newArrayDeque();
     File[] baseFiles = basePath.listFiles();
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/RevisionParser.java b/gitiles-servlet/src/main/java/com/google/gitiles/RevisionParser.java
index d540647..aef79b1 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/RevisionParser.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/RevisionParser.java
@@ -165,7 +165,8 @@
             } else {
               oldRevision = Revision.NULL;
             }
-            Result result = new Result(Revision.peeled(name, c), oldRevision, path.substring(name.length() + 2));
+            Result result = new Result(Revision.peeled(name, c), oldRevision,
+                path.substring(name.length() + 2));
             return isVisible(walk, result) ? result : null;
           }
         }
