diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c443b09..c506368 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -11,8 +11,8 @@ android { applicationId = "com.kawomi.githugandroid" minSdk = 26 targetSdk = 34 - versionCode = 15 - versionName = "0.1.14" + versionCode = 16 + versionName = "0.1.15" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true diff --git a/app/src/main/java/com/kawomi/githugandroid/GitRuntime.kt b/app/src/main/java/com/kawomi/githugandroid/GitRuntime.kt index e788f2e..81b219d 100644 --- a/app/src/main/java/com/kawomi/githugandroid/GitRuntime.kt +++ b/app/src/main/java/com/kawomi/githugandroid/GitRuntime.kt @@ -159,6 +159,14 @@ class GitRepositoryRuntime(private val context: Context) { val logResult = runGit(nativeGit, sandbox, listOf("log", "--pretty=format:%h\t%s")) val branchResult = runGit(nativeGit, sandbox, listOf("branch", "--list")) val headResult = runGit(nativeGit, sandbox, listOf("branch", "--show-current")) + val commits = if (logResult.exitCode == 0) { + logResult.outputLines.filter { it.isNotBlank() }.mapNotNull { line -> + val parts = line.split('\t', limit = 2) + if (parts.isEmpty()) null else CommitNode(parts[0], parts.getOrElse(1) { "" }) + } + } else { + emptyList() + } return RepoState( initialized = true, @@ -171,10 +179,7 @@ class GitRepositoryRuntime(private val context: Context) { tracked = tracked, ) }, - commits = logResult.outputLines.filter { it.isNotBlank() }.mapNotNull { line -> - val parts = line.split('\t', limit = 2) - if (parts.isEmpty()) null else CommitNode(parts[0], parts.getOrElse(1) { "" }) - }, + commits = commits, headBranch = headResult.outputLines.firstOrNull()?.ifBlank { null } ?: "master", branches = branchResult.outputLines.map { it.removePrefix("*").trim() }.filter { it.isNotBlank() }.associateWith { 0 }, )