diff --git a/src/main/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHook.java b/src/main/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHook.java
index f7bc005..a6ce048 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHook.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHook.java
@@ -101,7 +101,8 @@
             .append(QuoteUtil.quote(projectName))
             .append(" && ")
             .append(
-                "git remote set-url --push \"$(git config --default origin --get clone.defaultRemoteName)\"")
+                "git remote set-url --push \"$(git config --default origin --get"
+                    + " clone.defaultRemoteName)\"")
             .append(" ")
             .append(QuoteUtil.quote(sshPushAddress))
             .append(")");
diff --git a/src/test/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHookTest.java b/src/test/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHookTest.java
index f9d62ba..67f63e2 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHookTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/download/command/CloneWithCommitMsgHookTest.java
@@ -110,8 +110,9 @@
     assertThat(command)
         .isEqualTo(
             String.format(
-                "git clone \"%s\" && (cd %s && %s) && (cd %s && %s) && (cd %s && git remote set-url --push "
-                    + "\"$(git config --default origin --get clone.defaultRemoteName)\" \"%s\")",
+                "git clone \"%s\" && (cd %s && %s) && (cd %s && %s) && (cd %s && git remote set-url"
+                    + " --push \"$(git config --default origin --get clone.defaultRemoteName)\""
+                    + " \"%s\")",
                 sshScheme.getUrl(ENV.projectName),
                 baseName(ENV.projectName),
                 hookCommand,
@@ -166,7 +167,8 @@
 
   private String getDefaultHookCommand() {
     return String.format(
-        "(cd %s && mkdir -p %s && curl -Lo %scommit-msg https://%s/tools/hooks/commit-msg && chmod +x %scommit-msg)",
+        "(cd %s && mkdir -p %s && curl -Lo %scommit-msg https://%s/tools/hooks/commit-msg && chmod"
+            + " +x %scommit-msg)",
         baseName(ENV.projectName), HOOKS_DIR, HOOKS_DIR, ENV.fqdn, HOOKS_DIR);
   }
 
diff --git a/src/test/java/com/googlesource/gerrit/plugins/download/scheme/SchemeTest.java b/src/test/java/com/googlesource/gerrit/plugins/download/scheme/SchemeTest.java
index 74e57b5..851c3f1 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/download/scheme/SchemeTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/download/scheme/SchemeTest.java
@@ -30,8 +30,7 @@
 
 @RunWith(MockitoJUnitRunner.class)
 public class SchemeTest extends DownloadCommandTest {
-  @Mock
-  private PluginConfigFactory pluginConfigFactoryMock;
+  @Mock private PluginConfigFactory pluginConfigFactoryMock;
 
   @Test
   public void ensureHttpSchemeEncodedInUrl() throws Exception {
