Repository: scala-steward-org/scala-steward
Pull request #2075 (2021-04-09 19:56:21)

Organize imports


Patch:
diff --git a/modules/core/src/main/scala/org/scalasteward/core/application/SelfCheckAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/application/SelfCheckAlg.scala
index 31724d77..ed680c4a 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/application/SelfCheckAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/application/SelfCheckAlg.scala
@@ -18,11 +18,11 @@ package org.scalasteward.core.application
 
 import cats.MonadThrow
 import cats.syntax.all._
-import org.typelevel.log4cats.Logger
 import org.scalasteward.core.git.GitAlg
 import org.scalasteward.core.scalafmt.{scalafmtBinary, ScalafmtAlg}
 import org.scalasteward.core.util.UrlChecker
 import org.scalasteward.core.util.logger.LoggerOps
+import org.typelevel.log4cats.Logger
 
 final class SelfCheckAlg[F[_]](config: Config)(implicit
     gitAlg: GitAlg[F],
diff --git a/modules/core/src/main/scala/org/scalasteward/core/application/StewardAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/application/StewardAlg.scala
index 27bf4ba2..0c3d4a00 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/application/StewardAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/application/StewardAlg.scala
@@ -32,7 +32,6 @@ import org.scalasteward.core.util.logger.LoggerOps
 import org.scalasteward.core.vcs.data.Repo
 import org.scalasteward.core.vcs.github.{GitHubApp, GitHubAppApiAlg, GitHubAuthAlg}
 import org.typelevel.log4cats.Logger
-
 import scala.concurrent.duration._
 
 final class StewardAlg[F[_]](config: Config)(implicit
diff --git a/modules/core/src/main/scala/org/scalasteward/core/buildtool/maven/MavenAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/buildtool/maven/MavenAlg.scala
index 13526074..8fb06733 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/buildtool/maven/MavenAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/buildtool/maven/MavenAlg.scala
@@ -22,8 +22,8 @@ import cats.syntax.all._
 import org.scalasteward.core.application.Config
 import org.scalasteward.core.buildtool.BuildToolAlg
 import org.scalasteward.core.data._
-import org.scalasteward.core.io.{FileAlg, ProcessAlg, WorkspaceAlg}
 import org.scalasteward.core.edit.scalafix.ScalafixMigration
+import org.scalasteward.core.io.{FileAlg, ProcessAlg, WorkspaceAlg}
 import org.scalasteward.core.util.Nel
 import org.scalasteward.core.vcs.data.BuildRoot
 
diff --git a/modules/core/src/main/scala/org/scalasteward/core/buildtool/mill/MillAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/buildtool/mill/MillAlg.scala
index a4f5fc05..d5a5f839 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/buildtool/mill/MillAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/buildtool/mill/MillAlg.scala
@@ -18,7 +18,6 @@ package org.scalasteward.core.buildtool.mill
 
 import cats.effect.MonadCancelThrow
 import cats.syntax.all._
-import org.scalasteward.core.BuildInfo
 import org.scalasteward.core.buildtool.BuildToolAlg
 import org.scalasteward.core.data.Scope
 import org.scalasteward.core.data.Scope.Dependencies
@@ -36,11 +35,11 @@ object MillAlg {
         |interp.repositories() ++= Seq(
         |  MavenRepository.of("https://oss.sonatype.org/content/repositories/snapshots/")
         |)
-        |interp.load.ivy("${BuildInfo.organization}" %% "${BuildInfo.millPluginModuleName}" % "${BuildInfo.version}")
+        |interp.load.ivy("${org.scalasteward.core.BuildInfo.organization}" %% "${org.scalasteward.core.BuildInfo.millPluginModuleName}" % "${org.scalasteward.core.BuildInfo.version}")
         |""".stripMargin
 
   val extractDeps: String =
-    s"${BuildInfo.millPluginModuleRootPkg}.StewardPlugin/extractDeps"
+    s"${org.scalasteward.core.BuildInfo.millPluginModuleRootPkg}.StewardPlugin/extractDeps"
 
   def create[F[_]](implicit
       fileAlg: FileAlg[F],
diff --git a/modules/core/src/main/scala/org/scalasteward/core/coursier/VersionsCache.scala b/modules/core/src/main/scala/org/scalasteward/core/coursier/VersionsCache.scala
index 00235103..78ed6929 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/coursier/VersionsCache.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/coursier/VersionsCache.scala
@@ -16,8 +16,8 @@
 
 package org.scalasteward.core.coursier
 
-import cats.{MonadThrow, Parallel}
 import cats.implicits._
+import cats.{MonadThrow, Parallel}
 import io.circe.generic.semiauto.deriveCodec
 import io.circe.{Codec, KeyEncoder}
 import org.scalasteward.core.coursier.VersionsCache.{Key, Value}
diff --git a/modules/core/src/main/scala/org/scalasteward/core/coursier/package.scala b/modules/core/src/main/scala/org/scalasteward/core/coursier/package.scala
index b79ff40f..75154523 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/coursier/package.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/coursier/package.scala
@@ -19,7 +19,6 @@ package org.scalasteward.core
 import cats.Parallel
 import cats.effect.Sync
 import cats.syntax.all._
-
 import java.util.concurrent.ExecutorService
 
 package object coursier {
diff --git a/modules/core/src/main/scala/org/scalasteward/core/edit/EditAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/edit/EditAlg.scala
index 7ade1435..5b4f94aa 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/edit/EditAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/edit/EditAlg.scala
@@ -20,17 +20,12 @@ import better.files.File
 import cats.effect.Concurrent
 import cats.syntax.all._
 import org.scalasteward.core.buildtool.BuildToolDispatcher
-import org.scalasteward.core.data.RepoData
-import org.scalasteward.core.data.Update
+import org.scalasteward.core.data.{RepoData, Update}
 import org.scalasteward.core.edit.hooks.HookExecutor
-import org.scalasteward.core.edit.scalafix.ScalafixMigration
-import org.scalasteward.core.edit.scalafix.ScalafixMigrationsFinder
+import org.scalasteward.core.edit.scalafix.{ScalafixMigration, ScalafixMigrationsFinder}
 import org.scalasteward.core.git
-import org.scalasteward.core.git.Commit
-import org.scalasteward.core.git.GitAlg
-import org.scalasteward.core.io.FileAlg
-import org.scalasteward.core.io.WorkspaceAlg
-import org.scalasteward.core.io.isSourceFile
+import org.scalasteward.core.git.{Commit, GitAlg}
+import org.scalasteward.core.io.{isSourceFile, FileAlg, WorkspaceAlg}
 import org.scalasteward.core.repoconfig.RepoConfig
 import org.scalasteward.core.util._
 import org.scalasteward.core.util.logger._
@@ -109,6 +104,6 @@ final class EditAlg[F[_]](implicit
       logger.info(s"Trying heuristic '${heuristic.name}'") >>
         fileAlg.editFiles(files, heuristic.replaceVersion(update))
     }
-    bindUntilTrue(actions)
+    bindUntilTrue[Nel, F](actions)
   }
 }
diff --git a/modules/core/src/main/scala/org/scalasteward/core/git/FileGitAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/git/FileGitAlg.scala
index 7b1f00de..448e6eee 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/git/FileGitAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/git/FileGitAlg.scala
@@ -21,7 +21,7 @@ import cats.effect.MonadCancelThrow
 import cats.syntax.all._
 import org.http4s.Uri
 import org.scalasteward.core.application.Config.GitCfg
-import org.scalasteward.core.git.FileGitAlg.{dotdot, gitCmd}
+import org.scalasteward.core.git.FileGitAlg.dotdot
 import org.scalasteward.core.io.{FileAlg, ProcessAlg, WorkspaceAlg}
 import org.scalasteward.core.util.Nel
 
@@ -110,7 +110,7 @@ final class FileGitAlg[F[_]](config: GitCfg)(implicit
     } yield Option.when(before =!= after)(Commit())
 
   override def push(repo: File, branch: Branch): F[Unit] =
-    git("push", "--force", "--set-upstream", "origin", branch.name)(repo).void
+    git("push", "--force", "--no-verify", "--set-upstream", "origin", branch.name)(repo).void
 
   override def removeClone(repo: File): F[Unit] =
     fileAlg.deleteForce(repo)
@@ -138,18 +138,14 @@ final class FileGitAlg[F[_]](config: GitCfg)(implicit
   override def version: F[String] =
     workspaceAlg.rootDir.flatMap(git("--version")).map(_.mkString.trim)
 
-  private def git(args: String*)(repo: File): F[List[String]] = {
-    val extraEnv = "GIT_ASKPASS" -> config.gitAskPass.pathAsString
-    processAlg.exec(gitCmd ++ args.toList, repo, extraEnv)
-  }
+  private def git(args: String*)(repo: File): F[List[String]] =
+    processAlg.exec(Nel.of("git", args: _*), repo, "GIT_ASKPASS" -> config.gitAskPass.pathAsString)
 
   private val sign: String =
     if (config.signCommits) "--gpg-sign" else "--no-gpg-sign"
 }
 
 object FileGitAlg {
-  val gitCmd: Nel[String] = Nel.of("git", "-c", "core.hooksPath=/dev/null")
-
   // man 7 gitrevisions:
   // When you have two commits r1 and r2 you can ask for commits that are
   // reachable from r2 excluding those that are reachable from r1 by ^r1 r2
diff --git a/modules/core/src/main/scala/org/scalasteward/core/io/FileAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/io/FileAlg.scala
index 60bf5603..7d68f606 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/io/FileAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/io/FileAlg.scala
@@ -25,7 +25,6 @@ import org.apache.commons.io.FileUtils
 import org.http4s.Uri
 import org.http4s.implicits.http4sLiteralsSyntax
 import org.typelevel.log4cats.Logger
-
 import scala.io.Source
 
 trait FileAlg[F[_]] {
diff --git a/modules/core/src/main/scala/org/scalasteward/core/io/process.scala b/modules/core/src/main/scala/org/scalasteward/core/io/process.scala
index 74f873a5..cf7ead38 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/io/process.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/io/process.scala
@@ -20,9 +20,8 @@ import better.files.File
 import cats.effect._
 import cats.syntax.all._
 import fs2.Stream
-import org.scalasteward.core.util._
-
 import java.io.{IOException, InputStream}
+import org.scalasteward.core.util._
 import scala.collection.mutable.ListBuffer
 import scala.concurrent.TimeoutException
 import scala.concurrent.duration.FiniteDuration
diff --git a/modules/core/src/main/scala/org/scalasteward/core/persistence/JsonKeyValueStore.scala b/modules/core/src/main/scala/org/scalasteward/core/persistence/JsonKeyValueStore.scala
index 00568a6f..3813b815 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/persistence/JsonKeyValueStore.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/persistence/JsonKeyValueStore.scala
@@ -19,11 +19,11 @@ package org.scalasteward.core.persistence
 import better.files.File
 import cats.Monad
 import cats.syntax.all._
-import org.typelevel.log4cats.Logger
 import io.circe.parser.decode
 import io.circe.syntax._
 import io.circe.{Decoder, Encoder, KeyEncoder}
 import org.scalasteward.core.io.{FileAlg, WorkspaceAlg}
+import org.typelevel.log4cats.Logger
 
 final class JsonKeyValueStore[F[_], K, V](storeRoot: File, name: String)(implicit
     fileAlg: FileAlg[F],
diff --git a/modules/core/src/main/scala/org/scalasteward/core/repocache/RefreshErrorAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/repocache/RefreshErrorAlg.scala
index afbeb61e..2fa14205 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/repocache/RefreshErrorAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/repocache/RefreshErrorAlg.scala
@@ -25,7 +25,6 @@ import org.scalasteward.core.repocache.RefreshErrorAlg.Entry
 import org.scalasteward.core.util.dateTime.showDuration
 import org.scalasteward.core.util.{DateTimeAlg, Timestamp}
 import org.scalasteward.core.vcs.data.Repo
-
 import scala.concurrent.duration._
 import scala.util.control.NoStackTrace
 
diff --git a/modules/core/src/main/scala/org/scalasteward/core/repoconfig/RepoConfig.scala b/modules/core/src/main/scala/org/scalasteward/core/repoconfig/RepoConfig.scala
index d89484e0..70058926 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/repoconfig/RepoConfig.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/repoconfig/RepoConfig.scala
@@ -16,8 +16,8 @@
 
 package org.scalasteward.core.repoconfig
 
-import cats.{Eq, Monoid}
 import cats.syntax.all._
+import cats.{Eq, Monoid}
 import io.circe.Codec
 import io.circe.generic.extras.Configuration
 import io.circe.generic.extras.semiauto._
diff --git a/modules/core/src/main/scala/org/scalasteward/core/repoconfig/RepoConfigAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/repoconfig/RepoConfigAlg.scala
index a42dacff..ac511935 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/repoconfig/RepoConfigAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/repoconfig/RepoConfigAlg.scala
@@ -20,13 +20,13 @@ import better.files.File
 import cats.MonadThrow
 import cats.data.OptionT
 import cats.syntax.all._
-import org.typelevel.log4cats.Logger
 import io.circe.config.parser
 import org.scalasteward.core.application.Config
 import org.scalasteward.core.data.Update
 import org.scalasteward.core.io.{FileAlg, WorkspaceAlg}
 import org.scalasteward.core.repoconfig.RepoConfigAlg._
 import org.scalasteward.core.vcs.data.Repo
+import org.typelevel.log4cats.Logger
 
 final class RepoConfigAlg[F[_]](config: Config)(implicit
     fileAlg: FileAlg[F],
diff --git a/modules/core/src/main/scala/org/scalasteward/core/update/FilterAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/update/FilterAlg.scala
index a6961620..90d471e2 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/update/FilterAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/update/FilterAlg.scala
@@ -18,11 +18,11 @@ package org.scalasteward.core.update
 
 import cats.syntax.all._
 import cats.{Monad, TraverseFilter}
-import org.typelevel.log4cats.Logger
 import org.scalasteward.core.data._
 import org.scalasteward.core.repoconfig.RepoConfig
 import org.scalasteward.core.update.FilterAlg._
 import org.scalasteward.core.util.Nel
+import org.typelevel.log4cats.Logger
 
 final class FilterAlg[F[_]](implicit
     logger: Logger[F],
diff --git a/modules/core/src/main/scala/org/scalasteward/core/update/PruningAlg.scala b/modules/core/src/main/scala/org/scalasteward/core/update/PruningAlg.scala
index 1260659d..6cfc27ff 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/update/PruningAlg.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/update/PruningAlg.scala
@@ -31,7 +31,6 @@ import org.scalasteward.core.util.{dateTime, DateTimeAlg}
 import org.scalasteward.core.vcs.data.PullRequestState.Closed
 import org.scalasteward.core.vcs.data.Repo
 import org.typelevel.log4cats.Logger
-
 import scala.concurrent.duration._
 
 final class PruningAlg[F[_]](implicit
diff --git a/modules/core/src/main/scala/org/scalasteward/core/util/HttpJsonClient.scala b/modules/core/src/main/scala/org/scalasteward/core/util/HttpJsonClient.scala
index 9a187775..ce5174ce 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/util/HttpJsonClient.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/util/HttpJsonClient.scala
@@ -25,7 +25,6 @@ import org.http4s._
 import org.http4s.circe.{jsonEncoderOf, jsonOf}
 import org.http4s.client.Client
 import org.http4s.headers.Link
-
 import scala.util.control.NoStackTrace
 
 final class HttpJsonClient[F[_]](implicit
diff --git a/modules/core/src/main/scala/org/scalasteward/core/util/logger.scala b/modules/core/src/main/scala/org/scalasteward/core/util/logger.scala
index bfdf1cef..a17b2015 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/util/logger.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/util/logger.scala
@@ -18,8 +18,8 @@ package org.scalasteward.core.util
 
 import cats.syntax.all._
 import cats.{Foldable, Functor, Monad, MonadThrow}
-import org.typelevel.log4cats.Logger
 import org.scalasteward.core.data.Update
+import org.typelevel.log4cats.Logger
 import scala.concurrent.duration.FiniteDuration
 
 object logger {
diff --git a/modules/core/src/main/scala/org/scalasteward/core/util/string.scala b/modules/core/src/main/scala/org/scalasteward/core/util/string.scala
index 5b73b389..bfeec1bc 100644
--- a/modules/core/src/main/scala/org/scalasteward/core/util/string.scala
+++ b/modules/core/src/main/scala/org/scalasteward/core/util/string.scala
@@ -22,9 +22,8 @@ import eu.timepit.refined.api.Refined
 import eu.timepit.refined.collection.MinSize
 import eu.timepit.refined.refineV
 import org.scalasteward.core.util.Change.{Changed, Unchanged}
-import shapeless.Witness
-
 import scala.util.matching.Regex
+import shapeless.Witness
 
 object string {
   type MinLengthString[N] = String Refined MinSize[N]


Test patch:
diff --git a/modules/core/src/test/scala/org/scalasteward/core/TestInstances.scala b/modules/core/src/test/scala/org/scalasteward/core/TestInstances.scala
index b6cb0f9c..8e192c29 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/TestInstances.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/TestInstances.scala
@@ -16,7 +16,6 @@ import org.scalasteward.core.repoconfig.PullRequestFrequency.{Asap, Timespan}
 import org.scalasteward.core.repoconfig._
 import org.scalasteward.core.util.Change.{Changed, Unchanged}
 import org.scalasteward.core.util.{Change, Nel}
-
 import scala.concurrent.duration.FiniteDuration
 
 object TestInstances {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/application/CliTest.scala b/modules/core/src/test/scala/org/scalasteward/core/application/CliTest.scala
index f9e894bc..fda255ed 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/application/CliTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/application/CliTest.scala
@@ -6,7 +6,6 @@ import org.http4s.syntax.literals._
 import org.scalasteward.core.application.Cli.EnvVar
 import org.scalasteward.core.application.Cli.ParseResult._
 import org.scalasteward.core.vcs.VCSType
-
 import scala.concurrent.duration._
 
 class CliTest extends FunSuite {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/data/VersionTest.scala b/modules/core/src/test/scala/org/scalasteward/core/data/VersionTest.scala
index c010bf49..8e2cc745 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/data/VersionTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/data/VersionTest.scala
@@ -6,7 +6,6 @@ import munit.DisciplineSuite
 import org.scalacheck.Prop._
 import org.scalasteward.core.TestInstances._
 import org.scalasteward.core.data.Version.Component
-
 import scala.util.Random
 
 class VersionTest extends DisciplineSuite {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/edit/EditAlgTest.scala b/modules/core/src/test/scala/org/scalasteward/core/edit/EditAlgTest.scala
index de4d04a9..5c13654d 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/edit/EditAlgTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/edit/EditAlgTest.scala
@@ -1,12 +1,11 @@
 package org.scalasteward.core.edit
 
-import better.files.File
 import cats.effect.unsafe.implicits.global
 import munit.FunSuite
 import org.scalasteward.core.TestInstances.dummyRepoCache
 import org.scalasteward.core.TestSyntax._
 import org.scalasteward.core.data.{GroupId, RepoData, Update}
-import org.scalasteward.core.mock.MockConfig.{config, gitCmd}
+import org.scalasteward.core.mock.MockConfig.{config, envVars}
 import org.scalasteward.core.mock.MockContext.context.editAlg
 import org.scalasteward.core.mock.MockState
 import org.scalasteward.core.mock.MockState.TraceEntry.{Cmd, Log}
@@ -16,8 +15,8 @@ import org.scalasteward.core.util.Nel
 import org.scalasteward.core.vcs.data.Repo
 
 class EditAlgTest extends FunSuite {
-  private def gitStatus(repoDir: File): List[String] =
-    gitCmd(repoDir) ++ List("status", "--porcelain", "--untracked-files=no", "--ignore-submodules")
+  private val gitStatus =
+    List("git", "status", "--porcelain", "--untracked-files=no", "--ignore-submodules")
 
   test("applyUpdate") {
     val repo = Repo("edit-alg", "test-1")
@@ -47,7 +46,7 @@ class EditAlgTest extends FunSuite {
         Log("Trying heuristic 'original'"),
         Cmd("read", file1.pathAsString),
         Cmd("write", file1.pathAsString),
-        Cmd(gitStatus(repoDir))
+        Cmd(envVars ++ (repoDir.toString :: gitStatus))
       ),
       files = Map(file1 -> """val catsVersion = "1.3.0"""", file2 -> "")
     )
@@ -95,10 +94,10 @@ class EditAlgTest extends FunSuite {
         Log("Trying heuristic 'specific'"),
         Cmd("read", scalafmtConf.pathAsString),
         Cmd("write", scalafmtConf.pathAsString),
-        Cmd(gitStatus(repoDir)),
+        Cmd(envVars ++ (repoDir.toString :: gitStatus)),
         Log("Executing post-update hook for org.scalameta:scalafmt-core"),
         Cmd("VAR1=val1", "VAR2=val2", repoDir.toString, scalafmtBinary, "--non-interactive"),
-        Cmd(gitStatus(repoDir))
+        Cmd(envVars ++ (repoDir.toString :: gitStatus))
       ),
       files = Map(
         scalafmtConf ->
@@ -141,7 +140,7 @@ class EditAlgTest extends FunSuite {
         Cmd("write", file2.pathAsString),
         Cmd("read", file1.pathAsString),
         Cmd("write", file1.pathAsString),
-        Cmd(gitStatus(repoDir))
+        Cmd(envVars ++ (repoDir.toString :: gitStatus))
       ),
       files = Map(
         file1 -> """import $ivy.`org.typelevel::cats-core:1.3.0`, cats.implicits._"""",
diff --git a/modules/core/src/test/scala/org/scalasteward/core/edit/hooks/HookExecutorTest.scala b/modules/core/src/test/scala/org/scalasteward/core/edit/hooks/HookExecutorTest.scala
index 37f20417..9fbe4da1 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/edit/hooks/HookExecutorTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/edit/hooks/HookExecutorTest.scala
@@ -1,11 +1,11 @@
 package org.scalasteward.core.edit.hooks
 
-import munit.CatsEffectSuite
+import cats.effect.unsafe.implicits.global
+import munit.FunSuite
 import org.scalasteward.core.TestInstances.dummyRepoCache
 import org.scalasteward.core.TestSyntax._
 import org.scalasteward.core.data.{RepoData, Update}
-import org.scalasteward.core.git.FileGitAlg
-import org.scalasteward.core.mock.MockConfig.gitCmd
+import org.scalasteward.core.mock.MockConfig.envVars
 import org.scalasteward.core.mock.MockContext.context.{hookExecutor, workspaceAlg}
 import org.scalasteward.core.mock.MockState
 import org.scalasteward.core.mock.MockState.TraceEntry.{Cmd, Log}
@@ -14,15 +14,17 @@ import org.scalasteward.core.scalafmt.{scalafmtArtifactId, scalafmtBinary, scala
 import org.scalasteward.core.util.Nel
 import org.scalasteward.core.vcs.data.Repo
 
-class HookExecutorTest extends CatsEffectSuite {
+class HookExecutorTest extends FunSuite {
   private val repo = Repo("scala-steward-org", "scala-steward")
   private val data = RepoData(repo, dummyRepoCache, RepoConfig.empty)
   private val repoDir = workspaceAlg.repoDir(repo).runA(MockState.empty).unsafeRunSync()
 
   test("no hook") {
+
     val update = Update.Single("org.typelevel" % "cats-core" % "1.2.0", Nel.of("1.3.0"))
-    val state = hookExecutor.execPostUpdateHooks(data, update).runS(MockState.empty)
-    state.map(assertEquals(_, MockState.empty))
+    val state = hookExecutor.execPostUpdateHooks(data, update).runS(MockState.empty).unsafeRunSync()
+
+    assertEquals(state, MockState.empty)
   }
 
   test("scalafmt: enabled by config") {
@@ -30,26 +32,29 @@ class HookExecutorTest extends CatsEffectSuite {
       Update.Single(scalafmtGroupId.value % scalafmtArtifactId % "2.7.4", Nel.of("2.7.5"))
     val initial = MockState.empty.copy(commandOutputs =
       Map(
-        FileGitAlg.gitCmd.toList ++
-          List("status", "--porcelain", "--untracked-files=no", "--ignore-submodules") ->
+        List("git", "status", "--porcelain", "--untracked-files=no", "--ignore-submodules") ->
           List("build.sbt")
       )
     )
-    val state = hookExecutor.execPostUpdateHooks(data, update).runS(initial)
+    val state = hookExecutor.execPostUpdateHooks(data, update).runS(initial).unsafeRunSync()
 
     val expected = initial.copy(
       trace = Vector(
         Log("Executing post-update hook for org.scalameta:scalafmt-core"),
         Cmd("VAR1=val1", "VAR2=val2", repoDir.toString, scalafmtBinary, "--non-interactive"),
         Cmd(
-          gitCmd(repoDir),
+          envVars,
+          repoDir.toString,
+          "git",
           "status",
           "--porcelain",
           "--untracked-files=no",
           "--ignore-submodules"
         ),
         Cmd(
-          gitCmd(repoDir),
+          envVars,
+          repoDir.toString,
+          "git",
           "commit",
           "--all",
           "--no-gpg-sign",
@@ -59,7 +64,7 @@ class HookExecutorTest extends CatsEffectSuite {
       )
     )
 
-    state.map(assertEquals(_, expected))
+    assertEquals(state, expected)
   }
 
   test("scalafmt: disabled by config") {
@@ -68,14 +73,14 @@ class HookExecutorTest extends CatsEffectSuite {
     val data = RepoData(repo, dummyRepoCache, repoConfig)
     val update =
       Update.Single(scalafmtGroupId.value % scalafmtArtifactId % "2.7.4", Nel.of("2.7.5"))
-    val state = hookExecutor.execPostUpdateHooks(data, update).runS(MockState.empty)
+    val state = hookExecutor.execPostUpdateHooks(data, update).runS(MockState.empty).unsafeRunSync()
 
-    state.map(assertEquals(_, MockState.empty))
+    assertEquals(state, MockState.empty)
   }
 
   test("sbt-github-actions") {
     val update = Update.Single("com.codecommit" % "sbt-github-actions" % "0.9.4", Nel.of("0.9.5"))
-    val state = hookExecutor.execPostUpdateHooks(data, update).runS(MockState.empty)
+    val state = hookExecutor.execPostUpdateHooks(data, update).runS(MockState.empty).unsafeRunSync()
 
     val expected = MockState.empty.copy(
       trace = Vector(
@@ -90,10 +95,18 @@ class HookExecutorTest extends CatsEffectSuite {
           "sbt",
           "githubWorkflowGenerate"
         ),
-        Cmd(gitCmd(repoDir), "status", "--porcelain", "--untracked-files=no", "--ignore-submodules")
+        Cmd(
+          envVars,
+          repoDir.toString,
+          "git",
+          "status",
+          "--porcelain",
+          "--untracked-files=no",
+          "--ignore-submodules"
+        )
       )
     )
 
-    state.map(assertEquals(_, expected))
+    assertEquals(state, expected)
   }
 }
diff --git a/modules/core/src/test/scala/org/scalasteward/core/io/ProcessAlgTest.scala b/modules/core/src/test/scala/org/scalasteward/core/io/ProcessAlgTest.scala
index 6b9e4353..b98eaa03 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/io/ProcessAlgTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/io/ProcessAlgTest.scala
@@ -11,7 +11,6 @@ import org.scalasteward.core.mock.MockConfig.{config, mockRoot}
 import org.scalasteward.core.mock.MockState
 import org.scalasteward.core.mock.MockState.TraceEntry.Cmd
 import org.scalasteward.core.util.Nel
-
 import scala.concurrent.duration.Duration
 
 class ProcessAlgTest extends FunSuite {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/io/processTest.scala b/modules/core/src/test/scala/org/scalasteward/core/io/processTest.scala
index b7548ffb..693d26f8 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/io/processTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/io/processTest.scala
@@ -5,7 +5,6 @@ import cats.effect.unsafe.implicits.global
 import munit.FunSuite
 import org.scalasteward.core.io.process.Args
 import org.scalasteward.core.util.Nel
-
 import scala.concurrent.duration._
 
 class processTest extends FunSuite {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/mock/MockConfig.scala b/modules/core/src/test/scala/org/scalasteward/core/mock/MockConfig.scala
index d3226bff..3943e0a1 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/mock/MockConfig.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/mock/MockConfig.scala
@@ -4,10 +4,8 @@ import better.files.File
 import org.http4s.Uri
 import org.scalasteward.core.application.Cli.EnvVar
 import org.scalasteward.core.application.{Cli, Config}
-import org.scalasteward.core.git.FileGitAlg
 import org.scalasteward.core.vcs.VCSType
 import org.scalasteward.core.vcs.data.AuthenticatedUser
-
 import scala.concurrent.duration._
 
 object MockConfig {
@@ -28,7 +26,5 @@ object MockConfig {
   )
   val config: Config = Config.from(args)
   val envVars = List(s"GIT_ASKPASS=${config.gitCfg.gitAskPass}", "VAR1=val1", "VAR2=val2")
-  def gitCmd(repoDir: File): List[String] =
-    envVars ++ (repoDir.toString :: FileGitAlg.gitCmd.toList)
   val user: AuthenticatedUser = AuthenticatedUser("scala-steward", "token")
 }
diff --git a/modules/core/src/test/scala/org/scalasteward/core/repoconfig/PullRequestFrequencyTest.scala b/modules/core/src/test/scala/org/scalasteward/core/repoconfig/PullRequestFrequencyTest.scala
index 980e349a..4f4576de 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/repoconfig/PullRequestFrequencyTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/repoconfig/PullRequestFrequencyTest.scala
@@ -4,7 +4,6 @@ import io.circe.parser
 import io.circe.syntax._
 import munit.FunSuite
 import org.scalasteward.core.util.Timestamp
-
 import scala.concurrent.duration._
 
 class PullRequestFrequencyTest extends FunSuite {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/repoconfig/RepoConfigAlgTest.scala b/modules/core/src/test/scala/org/scalasteward/core/repoconfig/RepoConfigAlgTest.scala
index fac14f69..6241e783 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/repoconfig/RepoConfigAlgTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/repoconfig/RepoConfigAlgTest.scala
@@ -10,7 +10,6 @@ import org.scalasteward.core.mock.MockState.TraceEntry.Log
 import org.scalasteward.core.mock.{MockConfig, MockState}
 import org.scalasteward.core.util.Nel
 import org.scalasteward.core.vcs.data.Repo
-
 import scala.concurrent.duration._
 
 class RepoConfigAlgTest extends FunSuite {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/util/dateTimeTest.scala b/modules/core/src/test/scala/org/scalasteward/core/util/dateTimeTest.scala
index d247aeb9..e4f5cdcf 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/util/dateTimeTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/util/dateTimeTest.scala
@@ -4,7 +4,6 @@ import cats.syntax.all._
 import munit.ScalaCheckSuite
 import org.scalacheck.Prop._
 import org.scalasteward.core.util.dateTime._
-
 import scala.concurrent.duration._
 
 class dateTimeTest extends ScalaCheckSuite {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/util/utilTest.scala b/modules/core/src/test/scala/org/scalasteward/core/util/utilTest.scala
index ebab125d..546a421b 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/util/utilTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/util/utilTest.scala
@@ -5,7 +5,6 @@ import cats.effect.unsafe.implicits.global
 import munit.ScalaCheckSuite
 import org.scalacheck.Gen
 import org.scalacheck.Prop._
-
 import scala.collection.mutable.ListBuffer
 
 class utilTest extends ScalaCheckSuite {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/vcs/VCSRepoAlgTest.scala b/modules/core/src/test/scala/org/scalasteward/core/vcs/VCSRepoAlgTest.scala
index a5a1344c..7c3f9d33 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/vcs/VCSRepoAlgTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/vcs/VCSRepoAlgTest.scala
@@ -1,23 +1,24 @@
 package org.scalasteward.core.vcs
 
-import munit.CatsEffectSuite
+import cats.effect.unsafe.implicits.global
+import munit.FunSuite
 import org.http4s.syntax.literals._
 import org.scalasteward.core.git.Branch
-import org.scalasteward.core.mock.MockConfig.{config, gitCmd}
+import org.scalasteward.core.mock.MockConfig.{config, envVars}
 import org.scalasteward.core.mock.MockContext.context.{gitAlg, logger, vcsRepoAlg}
 import org.scalasteward.core.mock.MockState.TraceEntry.{Cmd, Log}
 import org.scalasteward.core.mock.{MockConfig, MockEff, MockState}
 import org.scalasteward.core.vcs.data.{Repo, RepoOut, UserOut}
 
-class VCSRepoAlgTest extends CatsEffectSuite {
+class VCSRepoAlgTest extends FunSuite {
   private val repo = Repo("fthomas", "datapackage")
-  private val repoDir = config.workspace / repo.show
+  private val repoDir = (config.workspace / "fthomas/datapackage").toString
   private val parentRepoOut = RepoOut(
     "datapackage",
     UserOut("fthomas"),
     None,
     uri"https://github.com/fthomas/datapackage",
-    Branch("main")
+    Branch("master")
   )
 
   private val forkRepoOut = RepoOut(
@@ -25,30 +26,40 @@ class VCSRepoAlgTest extends CatsEffectSuite {
     UserOut("scala-steward"),
     Some(parentRepoOut),
     uri"https://github.com/scala-steward/datapackage",
-    Branch("main")
+    Branch("master")
   )
 
   private val parentUrl = s"https://${config.vcsLogin}@github.com/fthomas/datapackage"
   private val forkUrl = s"https://${config.vcsLogin}@github.com/scala-steward/datapackage"
 
   test("cloneAndSync: doNotFork = false") {
-    val state = vcsRepoAlg.cloneAndSync(repo, forkRepoOut).runS(MockState.empty)
+    val state = vcsRepoAlg.cloneAndSync(repo, forkRepoOut).runS(MockState.empty).unsafeRunSync()
     val expected = MockState.empty.copy(
       trace = Vector(
         Log("Clone scala-steward/datapackage"),
-        Cmd(gitCmd(config.workspace), "clone", forkUrl, repoDir.toString),
-        Cmd(gitCmd(repoDir), "config", "user.email", "bot@example.org"),
-        Cmd(gitCmd(repoDir), "config", "user.name", "Bot Doe"),
+        Cmd(envVars, config.workspace.toString, "git", "clone", forkUrl, repoDir),
+        Cmd(envVars, repoDir, "git", "config", "user.email", "bot@example.org"),
+        Cmd(envVars, repoDir, "git", "config", "user.name", "Bot Doe"),
         Log("Synchronize with fthomas/datapackage"),
-        Cmd(gitCmd(repoDir), "remote", "add", "upstream", parentUrl),
-        Cmd(gitCmd(repoDir), "fetch", "--force", "--tags", "upstream", "main"),
-        Cmd(gitCmd(repoDir), "checkout", "-B", "main", "--track", "upstream/main"),
-        Cmd(gitCmd(repoDir), "merge", "upstream/main"),
-        Cmd(gitCmd(repoDir), "push", "--force", "--set-upstream", "origin", "main"),
-        Cmd(gitCmd(repoDir), "submodule", "update", "--init", "--recursive")
+        Cmd(envVars, repoDir, "git", "remote", "add", "upstream", parentUrl),
+        Cmd(envVars, repoDir, "git", "fetch", "--force", "--tags", "upstream", "master"),
+        Cmd(envVars, repoDir, "git", "checkout", "-B", "master", "--track", "upstream/master"),
+        Cmd(envVars, repoDir, "git", "merge", "upstream/master"),
+        Cmd(
+          envVars,
+          repoDir,
+          "git",
+          "push",
+          "--force",
+          "--no-verify",
+          "--set-upstream",
+          "origin",
+          "master"
+        ),
+        Cmd(envVars, repoDir, "git", "submodule", "update", "--init", "--recursive")
       )
     )
-    state.map(assertEquals(_, expected))
+    assertEquals(state, expected)
   }
 
   test("cloneAndSync: doNotFork = true") {
@@ -56,24 +67,25 @@ class VCSRepoAlgTest extends CatsEffectSuite {
     val state = new VCSRepoAlg[MockEff](config)
       .cloneAndSync(repo, parentRepoOut)
       .runS(MockState.empty)
-
+      .unsafeRunSync()
     val expected = MockState.empty.copy(
       trace = Vector(
         Log("Clone fthomas/datapackage"),
-        Cmd(gitCmd(config.workspace), "clone", parentUrl, repoDir.toString),
-        Cmd(gitCmd(repoDir), "config", "user.email", "bot@example.org"),
-        Cmd(gitCmd(repoDir), "config", "user.name", "Bot Doe"),
-        Cmd(gitCmd(repoDir), "submodule", "update", "--init", "--recursive")
+        Cmd(envVars, config.workspace.toString, "git", "clone", parentUrl, repoDir),
+        Cmd(envVars, repoDir, "git", "config", "user.email", "bot@example.org"),
+        Cmd(envVars, repoDir, "git", "config", "user.name", "Bot Doe"),
+        Cmd(envVars, repoDir, "git", "submodule", "update", "--init", "--recursive")
       )
     )
-    state.map(assertEquals(_, expected))
+    assertEquals(state, expected)
   }
 
   test("cloneAndSync: doNotFork = false, no parent") {
-    vcsRepoAlg
+    val result = vcsRepoAlg
       .cloneAndSync(repo, parentRepoOut)
       .runS(MockState.empty)
       .attempt
-      .map(result => assert(clue(result).isLeft))
+      .unsafeRunSync()
+    assert(clue(result).isLeft)
   }
 }
diff --git a/modules/core/src/test/scala/org/scalasteward/core/vcs/data/BranchOutTest.scala b/modules/core/src/test/scala/org/scalasteward/core/vcs/data/BranchOutTest.scala
index 0459e41c..264b3555 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/vcs/data/BranchOutTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/vcs/data/BranchOutTest.scala
@@ -4,7 +4,6 @@ import io.circe.parser
 import munit.FunSuite
 import org.scalasteward.core.git.Sha1.HexString
 import org.scalasteward.core.git.{Branch, Sha1}
-
 import scala.io.Source
 
 class BranchOutTest extends FunSuite {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/vcs/data/PullRequestOutTest.scala b/modules/core/src/test/scala/org/scalasteward/core/vcs/data/PullRequestOutTest.scala
index a12b476c..5ad5a2e0 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/vcs/data/PullRequestOutTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/vcs/data/PullRequestOutTest.scala
@@ -4,7 +4,6 @@ import io.circe.parser
 import munit.FunSuite
 import org.http4s.syntax.literals._
 import org.scalasteward.core.vcs.data.PullRequestState.Open
-
 import scala.io.Source
 
 class PullRequestOutTest extends FunSuite {
diff --git a/modules/core/src/test/scala/org/scalasteward/core/vcs/data/RepoOutTest.scala b/modules/core/src/test/scala/org/scalasteward/core/vcs/data/RepoOutTest.scala
index f27d69bd..930cd179 100644
--- a/modules/core/src/test/scala/org/scalasteward/core/vcs/data/RepoOutTest.scala
+++ b/modules/core/src/test/scala/org/scalasteward/core/vcs/data/RepoOutTest.scala
@@ -6,7 +6,6 @@ import io.circe.parser
 import munit.FunSuite
 import org.http4s.syntax.literals._
 import org.scalasteward.core.git.Branch
-
 import scala.io.Source
 
 class RepoOutTest extends FunSuite {