Align level parity docs and fetch/status validation

- Add LevelsCompare.md with setup and validation comparisons against Gazler/githug.
- Document that LevelsCompare.md must be updated when level behavior changes.
- Track FETCH_HEAD count in RepoState so the Fetch level can match upstream validation.
- Mirror upstream Status setup with staged files plus untracked database.yml.
- Keep Fetch from being solved by pull despite native Git FETCH_HEAD behavior.
- Bump app version and build debug APK.
This commit is contained in:
Joe Tretter
2026-05-11 21:34:28 -05:00
parent 316323a00c
commit 4bac818571
11 changed files with 228 additions and 12 deletions

View File

@@ -63,7 +63,8 @@ object GitSandboxEngine {
parts.size >= 2 && parts[1] == "fetch" -> {
val remote = parts.getOrNull(2)?.takeIf { !it.startsWith("-") } ?: "origin"
repo.copy(
fetchedBranches = repo.fetchedBranches + listOf("$remote/master", "$remote/feature_branch", "$remote/new_branch"),
fetchedBranches = repo.fetchedBranches + listOf("$remote/master", "$remote/new_branch"),
fetchHeadCount = 2,
maintenanceActions = repo.maintenanceActions + "fetch",
) to emptyList()
}
@@ -72,7 +73,9 @@ object GitSandboxEngine {
val branch = parts.drop(2).lastOrNull()?.takeIf { !it.startsWith("-") && it != remote } ?: repo.headBranch
repo.copy(
fetchedBranches = repo.fetchedBranches + "$remote/$branch",
fetchHeadCount = 1,
branches = repo.branches + (repo.headBranch to maxOf(repo.branches[repo.headBranch] ?: 0, 2)),
maintenanceActions = repo.maintenanceActions + "pull",
) to emptyList()
}
parts.size >= 2 && parts[1] == "push" -> pushRefs(repo, parts.drop(2))