fix(log): fixed --file <file> showing unused commits

This commit is contained in:
darwincereska
2025-11-13 18:35:37 -05:00
parent d5fae87797
commit b6874c8ce7

View File

@@ -86,7 +86,7 @@ class LogCommand {
val commits = Json.decodeFromString<List<CommitEntry>>(content)
// Filter commits based on options
val filteredCommits = filterCommits(commits, options)
val filteredCommits = filterCommits(commits, options, repo)
return if (options.oneline) {
formatOnelineLog(filteredCommits, repo, options)
@@ -95,7 +95,7 @@ class LogCommand {
}
}
private fun filterCommits(commits: List<CommitEntry>, options: LogOptions): List<CommitEntry> {
private fun filterCommits(commits: List<CommitEntry>, options: LogOptions, repo: Repository): List<CommitEntry> {
var filtered = commits
// Filter by date if --since is provided
@@ -106,6 +106,15 @@ class LogCommand {
commitTime.isAfter(sinceTime)
}
}
// Filter by file if --file <file> is provided
options.targetFile?.let { targetFile ->
filtered = filtered.filter { commit ->
val commitTime = Instant.parse(commit.timestamp)
val snapshots = findSnapshotsForCommit(repo, commitTime, targetFile)
snapshots.any { snapshot -> snapshot.filePath == targetFile }
}
}
// Limit count if --max-count is provided
options.maxCount?.let { count ->