Skip to content

Commit af8b67b

Browse files
authored
Fix console reader issues (#219)
* Wrap `Try` around stuff since it fails sometimes * Calm down the logging a bit * Added missing logger case
1 parent 24c5330 commit af8b67b

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

src/main/scala/com/github/sbt/git/ConsoleGitReadableOnly.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ class ConsoleGitReadableOnly(git: GitRunner, cwd: File, log: Logger) extends Git
1111

1212
def headCommitDate: Option[String] = Try(git("log", """--pretty="%cI"""", "-n", "1")(cwd, log)).toOption
1313

14-
def currentTags: Seq[String] = git("tag", "--points-at", "HEAD")(cwd, log).split("\\s+")
14+
def currentTags: Seq[String] = Try(git("tag", "--points-at", "HEAD")(cwd, log).split("\\s+").toSeq).getOrElse(Seq())
1515

16-
def describedVersion: Option[String] = git("describe", "--tags")(cwd, log).split("\\s+").headOption
16+
def describedVersion: Option[String] = Try(git("describe", "--tags")(cwd, log).split("\\s+").headOption).toOption.flatten
1717

18-
def hasUncommittedChanges: Boolean = git("status")(cwd, log).contains("nothing to commit, working tree clean")
18+
def hasUncommittedChanges: Boolean = Try(!git("status", "-s")(cwd, log).trim.isEmpty).getOrElse(true)
1919

20-
def branches: Seq[String] = git("branch", "--list")(cwd, log).split("\\s+")
20+
def branches: Seq[String] = Try(git("branch", "--list")(cwd, log).split("\\s+").toSeq).getOrElse(Seq())
2121

22-
def remoteBranches: Seq[String] = git("branch", "-l", "--remotes")(cwd, log).split("\\s+")
22+
def remoteBranches: Seq[String] = Try(git("branch", "-l", "--remotes")(cwd, log).split("\\s+").toSeq).getOrElse(Seq())
2323

2424
def remoteOrigin: String = git("ls-remote", "--get-url", "origin")(cwd, log)
2525

src/main/scala/com/github/sbt/git/ConsoleGitRunner.scala

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ object ConsoleGitRunner extends GitRunner {
3737
// reduce log level for git process
3838
private class GitLogger(log: Logger) extends ProcessLogger {
3939
import scala.collection.mutable.ListBuffer
40-
import Level.{ Info, Warn, Error, Value => LogLevel }
40+
import Level.{ Debug, Info, Warn, Error, Value => LogLevel }
4141

4242
private val msgs: ListBuffer[(LogLevel, String)] = new ListBuffer()
4343

4444
def info(s: => String): Unit =
45-
synchronized { msgs += ((Info, s)) }
45+
synchronized { msgs += ((Debug, s)) }
4646

4747
def error(s: => String): Unit =
4848
synchronized { msgs += ((Error, s)) }
@@ -54,6 +54,9 @@ object ConsoleGitRunner extends GitRunner {
5454
def buffer[T](f: => T): T = f
5555

5656
private def print(desiredLevel: LogLevel)(t: (LogLevel, String)): String = t match {
57+
case (Debug, msg) =>
58+
log.debug(msg)
59+
msg
5760
case (Info, msg) =>
5861
log.info(msg)
5962
msg
@@ -63,7 +66,7 @@ object ConsoleGitRunner extends GitRunner {
6366
}
6467

6568
def flush(exitCode: Int): String = {
66-
val level = if (exitCode == 0) Info else Error // reduce log level Error -> Info if exitCode is zero
69+
val level = if (exitCode == 0) Debug else Error // reduce log level Error -> Debug if exitCode is zero
6770
var result = msgs map print(level)
6871
msgs.clear()
6972
result.mkString("\n")

src/main/scala/com/github/sbt/git/GitPlugin.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ object SbtGit {
113113
import GitKeys._
114114
def buildSettings = Seq(
115115
useConsoleForROGit := false,
116-
gitReader := new DefaultReadableGit(baseDirectory.value, if (useConsoleForROGit.value) Some(new ConsoleGitReadableOnly(ConsoleGitRunner, file("."), ConsoleLogger())) else None),
116+
gitReader := new DefaultReadableGit(baseDirectory.value, if (useConsoleForROGit.value) Some(new ConsoleGitReadableOnly(ConsoleGitRunner, file("."), sLog.value)) else None),
117117
gitRunner := ConsoleGitRunner,
118118
gitHeadCommit := gitReader.value.withGit(_.headCommitSha),
119119
gitHeadMessage := gitReader.value.withGit(_.headCommitMessage),

0 commit comments

Comments
 (0)