File tree Expand file tree Collapse file tree 4 files changed +28
-4
lines changed
InspectorArea/HistoryInspector
NavigatorArea/SourceControlNavigator/History/Views Expand file tree Collapse file tree 4 files changed +28
-4
lines changed Original file line number Diff line number Diff line change @@ -40,7 +40,11 @@ final class HistoryInspectorModel: ObservableObject {
4040 do {
4141 let commitHistory = try await sourceControlManager
4242 . gitClient
43- . getCommitHistory ( maxCount: 40 , fileLocalPath: fileURL)
43+ . getCommitHistory (
44+ maxCount: 40 ,
45+ fileLocalPath: fileURL,
46+ showMergeCommits: Settings . shared. preferences. sourceControl. git. showMergeCommitsPerFileLog
47+ )
4448 await setCommitHistory ( commitHistory)
4549 } catch {
4650 await setCommitHistory ( [ ] )
Original file line number Diff line number Diff line change 77import SwiftUI
88
99struct HistoryInspectorView : View {
10+ @AppSettings ( \. sourceControl. git. showMergeCommitsPerFileLog)
11+ var showMergeCommitsPerFileLog
12+
1013 @EnvironmentObject private var workspace : WorkspaceDocument
1114
1215 @EnvironmentObject private var editorManager : EditorManager
@@ -60,5 +63,10 @@ struct HistoryInspectorView: View {
6063 await model. setWorkspace ( sourceControlManager: workspace. sourceControlManager)
6164 await model. setFile ( url: editorManager. activeEditor. selectedTab? . file. url. path)
6265 }
66+ . onChange ( of: showMergeCommitsPerFileLog) { _ in
67+ Task {
68+ await model. updateCommitHistory ( )
69+ }
70+ }
6371 }
6472}
Original file line number Diff line number Diff line change @@ -15,6 +15,9 @@ struct SourceControlNavigatorHistoryView: View {
1515 case error( error: Error )
1616 }
1717
18+ @AppSettings ( \. sourceControl. git. showMergeCommitsPerFileLog)
19+ var showMergeCommitsPerFileLog
20+
1821 @EnvironmentObject var sourceControlManager : SourceControlManager
1922
2023 @State var commitHistoryStatus : Status = . loading
@@ -28,7 +31,10 @@ struct SourceControlNavigatorHistoryView: View {
2831 commitHistoryStatus = . loading
2932 let commits = try await sourceControlManager
3033 . gitClient
31- . getCommitHistory ( branchName: sourceControlManager. currentBranch? . name)
34+ . getCommitHistory (
35+ branchName: sourceControlManager. currentBranch? . name,
36+ showMergeCommits: Settings . shared. preferences. sourceControl. git. showMergeCommitsPerFileLog
37+ )
3238 await MainActor . run {
3339 commitHistory = commits
3440 commitHistoryStatus = . ready
@@ -102,5 +108,10 @@ struct SourceControlNavigatorHistoryView: View {
102108 . task {
103109 await updateCommitHistory ( )
104110 }
111+ . onChange ( of: showMergeCommitsPerFileLog) { _ in
112+ Task {
113+ await updateCommitHistory ( )
114+ }
115+ }
105116 }
106117}
Original file line number Diff line number Diff line change @@ -17,7 +17,8 @@ extension GitClient {
1717 func getCommitHistory(
1818 branchName: String ? = nil ,
1919 maxCount: Int ? = nil ,
20- fileLocalPath: String ? = nil
20+ fileLocalPath: String ? = nil ,
21+ showMergeCommits: Bool = false
2122 ) async throws -> [ GitCommit ] {
2223 let branchString = branchName != nil ? " \" \( branchName ?? " " ) \" " : " "
2324 let fileString = fileLocalPath != nil ? " \" \( fileLocalPath ?? " " ) \" " : " "
@@ -30,7 +31,7 @@ extension GitClient {
3031 dateFormatter. dateFormat = " EEE, dd MMM yyyy HH:mm:ss Z "
3132
3233 let output = try await run (
33- " log -z --pretty=%h¦%H¦%s¦%aN¦%ae¦%cn¦%ce¦%aD¦%b¦%D¦ \( countString) \( branchString) -- \( fileString) "
34+ " log \( showMergeCommits ? " " : " --no-merges " ) -z --pretty=%h¦%H¦%s¦%aN¦%ae¦%cn¦%ce¦%aD¦%b¦%D¦ \( countString) \( branchString) -- \( fileString) "
3435 . trimmingCharacters ( in: . whitespacesAndNewlines)
3536 )
3637 let remoteURL = try await getRemoteURL ( )
You can’t perform that action at this time.
0 commit comments