From 01f55f7ab38e1e4aabd1b9cebe777b9dd766fd5c Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 29 Jun 2026 11:25:51 +0800 Subject: [PATCH 01/42] ux: new style for page switcher in repository Signed-off-by: leo --- src/Views/Repository.axaml | 46 +++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/src/Views/Repository.axaml b/src/Views/Repository.axaml index 02ac9868fa..f00001ba18 100644 --- a/src/Views/Repository.axaml +++ b/src/Views/Repository.axaml @@ -58,7 +58,7 @@ - - + @@ -403,11 +403,11 @@ - + - + + - + - + - + - + - + - + diff --git a/src/Views/DeleteRemote.axaml b/src/Views/DeleteRemote.axaml index ea5c39b80f..f8ab1033d6 100644 --- a/src/Views/DeleteRemote.axaml +++ b/src/Views/DeleteRemote.axaml @@ -16,7 +16,7 @@ Classes="bold" Text="{DynamicResource Text.DeleteRemote}"/> - + diff --git a/src/Views/DeleteRepositoryNode.axaml b/src/Views/DeleteRepositoryNode.axaml index 15132a9f3c..5971e250d5 100644 --- a/src/Views/DeleteRepositoryNode.axaml +++ b/src/Views/DeleteRepositoryNode.axaml @@ -21,7 +21,7 @@ Text="{DynamicResource Text.DeleteRepositoryNode.TitleForRepository}" IsVisible="{Binding Node.IsRepository}"/> - + - + - + - + @@ -338,7 +338,7 @@ - + - + diff --git a/src/Views/ExecuteCustomAction.axaml b/src/Views/ExecuteCustomAction.axaml index e2b938d855..6769f94814 100644 --- a/src/Views/ExecuteCustomAction.axaml +++ b/src/Views/ExecuteCustomAction.axaml @@ -150,7 +150,7 @@ IsVisible="{Binding Description, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/> - + - + - + diff --git a/src/Views/GitFlowFinish.axaml b/src/Views/GitFlowFinish.axaml index 542caecfa2..879d88d854 100644 --- a/src/Views/GitFlowFinish.axaml +++ b/src/Views/GitFlowFinish.axaml @@ -26,7 +26,7 @@ Text="{DynamicResource Text.GitFlow.FinishHotfix}" IsVisible="{Binding Type, Converter={x:Static ObjectConverters.Equal}, ConverterParameter={x:Static m:GitFlowBranchType.Hotfix}}"/> - + - + - + - + - + - + - + - + - + - + diff --git a/src/Views/Merge.axaml b/src/Views/Merge.axaml index be31f6534d..48cc9b7111 100644 --- a/src/Views/Merge.axaml +++ b/src/Views/Merge.axaml @@ -19,7 +19,7 @@ Classes="bold" Text="{DynamicResource Text.Merge}"/> - + - + - + diff --git a/src/Views/MergeConflictEditor.axaml b/src/Views/MergeConflictEditor.axaml index d73038d5cd..e5b4379661 100644 --- a/src/Views/MergeConflictEditor.axaml +++ b/src/Views/MergeConflictEditor.axaml @@ -39,7 +39,7 @@ - + - + - + diff --git a/src/Views/PruneRemote.axaml b/src/Views/PruneRemote.axaml index 0484c76dc5..10e99d3cb1 100644 --- a/src/Views/PruneRemote.axaml +++ b/src/Views/PruneRemote.axaml @@ -16,7 +16,7 @@ Classes="bold" Text="{DynamicResource Text.PruneRemote}"/> - + diff --git a/src/Views/PruneWorktrees.axaml b/src/Views/PruneWorktrees.axaml index b6e45d6116..a7f6f3f44f 100644 --- a/src/Views/PruneWorktrees.axaml +++ b/src/Views/PruneWorktrees.axaml @@ -14,7 +14,7 @@ Classes="bold" Text="{DynamicResource Text.PruneWorktrees}"/> - + diff --git a/src/Views/Pull.axaml b/src/Views/Pull.axaml index 328c1318a7..d5a4eb3a71 100644 --- a/src/Views/Pull.axaml +++ b/src/Views/Pull.axaml @@ -18,7 +18,7 @@ Classes="bold" Text="{DynamicResource Text.Pull.Title}"/> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/src/Views/TextDiffView.axaml b/src/Views/TextDiffView.axaml index cb3a71ae56..f139727f24 100644 --- a/src/Views/TextDiffView.axaml +++ b/src/Views/TextDiffView.axaml @@ -51,7 +51,7 @@ - + - + - + - + - + @@ -220,6 +220,6 @@ FontSize="12" Text="{DynamicResource Text.Welcome.DragDropTip}" Opacity=".5"/> - + diff --git a/src/Views/WorkingCopy.axaml b/src/Views/WorkingCopy.axaml index bbf509fb42..4275460c4b 100644 --- a/src/Views/WorkingCopy.axaml +++ b/src/Views/WorkingCopy.axaml @@ -355,7 +355,7 @@ - + From 4033af193e8dab0d2db9aa814eb65756dc4f24db Mon Sep 17 00:00:00 2001 From: Chiahong <36815907+ChiahongHong@users.noreply.github.com> Date: Mon, 13 Jul 2026 10:00:46 +0800 Subject: [PATCH 38/42] localization: update Traditional Chinese translations (#2526) --- src/Resources/Locales/zh_TW.axaml | 72 +++++++++++++++---------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/Resources/Locales/zh_TW.axaml b/src/Resources/Locales/zh_TW.axaml index fd0b454b2f..fcf0003dd3 100644 --- a/src/Resources/Locales/zh_TW.axaml +++ b/src/Resources/Locales/zh_TW.axaml @@ -61,7 +61,7 @@ 二分搜尋進行中。請簽出另一個提交,然後標記該提交為「良好」或「錯誤」。 二分搜尋進行中。請標記目前的提交為「錯誤」,或簽出另一個提交並標記為「錯誤」。 二分搜尋進行中。請標記目前的提交為「良好」或「錯誤」,然後簽出另一個提交。 - 二分搜尋進行中。目前的提交是「良好」是「錯誤」? + 二分搜尋進行中。目前的提交是「良好」還是「錯誤」? 逐行溯源 (blame) 對上一個版本執行逐行溯源 忽略空白符號變化 @@ -118,7 +118,7 @@ 簽出 (checkout) 分支 未提交變更: 目標分支: - 您目前的分離的 HEAD 包含與任何分支/標籤無關的提交! 您要繼續嗎? + 目前的 HEAD 包含未連結至任何分支或標籤的提交! 您是否要繼續? 以下子模組需要更新: {0},您要立即更新嗎? 簽出分支並快轉 上游分支: @@ -127,13 +127,13 @@ 所選擱置: 簽出提交或標籤 目標: - 注意:執行該操作後,目前 HEAD 會變為分離 (detached) 狀態! + 注意: 執行該操作後,目前 HEAD 會變為分離 (detached) 狀態! 揀選提交 提交資訊中追加來源資訊 提交列表: 提交變更 對比的父提交: - 通常您不能對一個合併進行揀選 (cherry-pick),因為您不知道合併的哪一邊應該被視為主線。這個選項指定了作為主線的父提交,允許揀選相對於該提交的修改。 + 通常您無法揀選 (cherry-pick) 合併提交,因為無法判斷哪個父提交應視為主線。此選項可指定作為主線的父提交。 捨棄擱置變更確認 您正在捨棄所有的擱置變更,一經操作便無法復原,是否繼續? 複製 (clone) 遠端存放庫 @@ -181,7 +181,7 @@ 變更對比 個檔案已變更 搜尋變更... - 收起詳細面板 + 收合詳細面板 檔案列表 LFS 檔案 搜尋檔案... @@ -211,7 +211,7 @@ 差異提交 左側獨有提交 右側獨有提交 - 提示:如果比較的另一方是 HEAD,您可以揀選 (cherry-pick) 已選擇的提交 (使用滑鼠右鍵) + 提示: 如果比較的另一方是 HEAD,您可以揀選 (cherry-pick) 已選擇的提交 (使用滑鼠右鍵) 存放庫設定 提交訊息範本 內建參數: @@ -230,8 +230,8 @@ ${REPO} 存放庫路徑 ${REMOTE} 所選的遠端存放庫或所選分支的遠端 - ${BRANCH} 所選的分支。對於遠端分支,不包含遠端名稱 - ${BRANCH_FRIENDLY_NAME} 所選的分支。對於遠端分支,不包含遠端名稱 + ${BRANCH} 所選的分支。遠端分支不包含遠端名稱 + ${BRANCH_FRIENDLY_NAME} 所選的分支。遠端分支會包含遠端名稱 ${SHA} 所選的提交編號 ${TAG} 所選的標籤 ${FILE} 所選的檔案,相對於存放庫根目錄的路徑 @@ -282,15 +282,15 @@ 用於本存放庫的使用者名稱 編輯自訂動作輸入控制項 啟用時的指令參數: - 勾選 CheckBox 後,此值將用於指令參數中 + 勾選核取方塊後,此值將用於指令參數中 描述: 預設值: 目標路徑是否為資料夾: 名稱: 選項列表: 請使用英文「|」符號分隔選項 - 字串格式化器: - 可選。用於格式化輸出字串。當輸入為空時將被忽略。請使用 `${VALUE}` 來表示輸入字串。 + 字串格式化: + 選填。用於格式化輸出字串。若輸入為空則會忽略此設定。請使用 `${VALUE}` 來表示輸入字串。 內建變數 ${REPO}、${REMOTE}、${BRANCH}、${BRANCH_FRIENDLY_NAME}、${SHA}、${FILE} 及 ${TAG} 在此處仍可使用 類型: 輸出包含遠端的名稱: @@ -302,7 +302,7 @@ 未包含任何檔案變更! 您是否仍要提交 (--allow-empty)? 暫存全部變更並提交 僅暫存所選變更並提交 - 未包含任何檔案變更! 您是否仍要提交 (--allow-empty) 或者自動暫存變更並提交? + 未包含任何檔案變更! 您是否仍要提交 (--allow-empty) 或自動暫存變更並提交? 系統提示 您需要重新啟動此應用程式才能套用變更! 產生約定式提交訊息 @@ -442,12 +442,12 @@ 檔案歷史 檔案變更 檔案內容 - 檔案類型變更: - 刪除檔案類型: + 檔案類型變更: + 刪除檔案類型: 目錄 可執行檔案 - 新增檔案類型: - 普通檔案 + 新增檔案類型: + 一般檔案 子模組 符號連結 未知 @@ -554,7 +554,7 @@ 拉取 (pull) 遠端的變更 推送 (push) 本機變更到遠端存放庫 強制重新載入存放庫 - 在歷史頁面中展開/收起詳細面板 + 在歷史頁面中展開/收合詳細面板 顯示本機變更 顯示歷史記錄 顯示擱置變更列表 @@ -575,7 +575,7 @@ 正在復原提交 互動式重定基底 自動擱置變更並復原本機變更 - 繞過 pre-rebase 鉤子 + 繞過 pre-rebase hook 起始提交: 拖曳以重新排序提交 目標分支: @@ -592,10 +592,10 @@ 目標分支: 合併方式: 合併來源: - 偵測合併衝突中... + 正在偵測合併衝突... 合併操作不會產生衝突 偵測合併衝突時發生未知錯誤 - 合併操作將存在衝突檔案 + 合併操作將產生檔案衝突 先套用我方版本 (ours),再套用對方版本 (theirs) 先套用對方版本 (theirs),再套用我方版本 (ours) 套用兩者 @@ -659,7 +659,7 @@ 附加提示詞 (請使用 '-' 列出您的要求) API 金鑰 模型 - 自動獲取可用的模型列表 + 自動取得可用的模型列表 名稱 從環境變數中 (輸入環境變數名稱) 讀取 API 金鑰 伺服器 @@ -711,7 +711,7 @@ 使用 git-credential-libsecret 取代 git-credential-manager 使用者名稱 預設 Git 使用者名稱 - 在檢出或合併分支時,預設擱置變更並自動復原 + 在簽出或合併分支時,預設擱置變更並自動復原 Git 版本 GPG 簽章 啟用提交簽章 @@ -724,7 +724,7 @@ 第三方工具整合 終端機/Shell 啟動參數 - 請使用「.」標示當前工作目錄 + 請使用「.」表示目前工作目錄 安裝路徑 終端機/Shell 清理遠端已刪除分支 @@ -761,10 +761,10 @@ 自動擱置變更並復原本機變更 繞過 pre-rebase 鉤子 目標提交: - 偵測重定基底衝突中... + 正在偵測重定基底衝突... 重定基底操作不會產生衝突 偵測重定基底衝突時發生未知錯誤 - 重定基底操作將存在衝突檔案 + 重定基底操作將產生檔案衝突 新增遠端存放庫 編輯遠端存放庫 遠端名稱: @@ -777,7 +777,7 @@ 編輯... 啟用定時自動提取 提取 (fetch) 更新 - 在瀏覽器中存取網址 + 在瀏覽器中開啟網址 清理遠端已刪除分支 刪除工作區操作確認 啟用 [--force] 選項 @@ -787,10 +787,10 @@ 新的分支名稱不能與現有分支名稱相同 分支: 中止 - 自動提取遠端變更中... + 正在自動提取遠端變更... 排序 依建立時間 - 依名稱升序 + 依名稱遞增排序 清理本存放庫 (GC) 本操作將執行 `git gc` 指令。 清空篩選規則 @@ -835,8 +835,8 @@ 只顯示合併提交的第一父提交 顯示內容 顯示失去參照的提交 - 以樹型結構展示 - 以樹型結構展示 + 以樹狀結構顯示 + 以樹狀結構顯示 跳過此提交 提交統計 子模組列表 @@ -865,7 +865,7 @@ 復原操作確認 目標提交: 復原後提交變更 - 執行操作中,請耐心等待... + 正在執行操作,請耐心等待... 儲存 另存新檔... 修補檔已成功儲存! @@ -933,8 +933,8 @@ 相對存放庫路徑: 本機存放的相對路徑。 刪除 - 更改追蹤分支 - 更改遠端網址 + 變更追蹤分支 + 變更遠端網址 狀態 未提交變更 未初始化 @@ -964,7 +964,7 @@ 更新所有子模組 如果子模組尚未初始化,則將其初始化 子模組: - 遞迴更新多層級子模組 + 遞迴更新子模組 更新至子模組的遠端追蹤分支 存放庫網址: 記錄 @@ -980,7 +980,7 @@ 支援拖放以新增目錄與自訂群組。 編輯 調整存放庫分組 - 開啟所有包含存放庫 + 開啟所有存放庫 開啟本機存放庫 開啟終端機 重新掃描預設複製 (clone) 目錄下的存放庫 @@ -1002,7 +1002,7 @@ 觸發點擊事件 提交 (修改原始提交) 自動暫存全部變更並提交 - 您正在向一個分離狀態的 HEAD 提交變更,您確定要繼續提交嗎? + HEAD 目前處於分離狀態。您確定要繼續提交變更嗎? 您已暫存 {0} 個檔案,但只顯示 {1} 個檔案 ({2} 個檔案被篩選器隱藏)。您確定要繼續提交嗎? 偵測到衝突 解決衝突 From 8f75493dc1ccac5e7272e67c9d327d7b421fd1d5 Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 13 Jul 2026 10:02:40 +0800 Subject: [PATCH 39/42] version: Release 2026.15 Signed-off-by: leo --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 00b2313d90..3f492ad1c9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2026.14 \ No newline at end of file +2026.15 \ No newline at end of file From ed8268ed0055d5bb78bc1ed20728c9860937e433 Mon Sep 17 00:00:00 2001 From: Shawn Koonin Date: Sun, 12 Jul 2026 20:15:12 -0700 Subject: [PATCH 40/42] version: start 2026.17-sk-dev --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 0344429986..507f240d1b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2026.16-sk \ No newline at end of file +2026.17-sk-dev \ No newline at end of file From ca3613616b1b1305c1413f12e7bd1ffb27786a5e Mon Sep 17 00:00:00 2001 From: Shawn Koonin Date: Fri, 24 Jul 2026 13:28:33 -0700 Subject: [PATCH 41/42] build: opt out of Avalonia build telemetry AvaloniaStatsTask writes to ~/Library/Application Support/AvaloniaUI, which fails in restricted/sandboxed build environments. Opt out to keep builds hermetic. --- Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile b/Makefile index 3abcaaf7f4..cc1b846d9a 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,10 @@ # GitHub Actions are disabled in this repository; `make check` is the local CI gate. DOTNET ?= $(shell command -v dotnet 2>/dev/null || echo $(HOME)/.local/share/dotnet/dotnet) +# Avalonia's build-time stats task writes to ~/Library/Application Support/AvaloniaUI; +# that write fails in restricted/sandboxed environments and breaks the build. Opt out to +# keep builds hermetic. Only affects build telemetry, not the app. +export AVALONIA_TELEMETRY_OPTOUT := true # Lazy so only the app target shells out for the version. VERSION = $(shell cat VERSION) RUNTIME ?= osx-arm64 From 7f0462c31a1e8695896b8e1105fc80d544cc133b Mon Sep 17 00:00:00 2001 From: Shawn Koonin Date: Fri, 24 Jul 2026 13:38:44 -0700 Subject: [PATCH 42/42] docs: note upstream v2026.15 sync and fork customizations Add a Fork customizations section to the README (marked fork-only) and an Unreleased CHANGELOG entry for the upstream sync. --- CHANGELOG.md | 6 ++++++ README.md | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e01feae04..1bba5b7f88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ Fork releases of SourceGit-SK. Upstream changes arrive through upstream release merges and are documented in the [upstream release notes](https://github.com/sourcegit-scm/sourcegit/releases). +## [Unreleased] + +### Changed + +- Merged upstream [v2026.15](https://github.com/sourcegit-scm/sourcegit/releases/tag/v2026.15) into the fork, bringing upstream's fixes and improvements while keeping all fork customizations ([#9](https://github.com/skoonin/sourcegit-sk/pull/9)) + ## [2026.16-sk] - 2026-07-12 ### Added diff --git a/README.md b/README.md index 2bf6c6968b..bf68518fa3 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,16 @@ [![latest](https://img.shields.io/github/v/release/sourcegit-scm/sourcegit.svg)](https://github.com/sourcegit-scm/sourcegit/releases/latest) [![downloads](https://img.shields.io/github/downloads/sourcegit-scm/sourcegit/total)](https://github.com/sourcegit-scm/sourcegit/releases) +## Fork customizations (SourceGit-SK) + +This is a personal fork of [sourcegit-scm/sourcegit](https://github.com/sourcegit-scm/sourcegit) that tracks upstream and adds the changes below. These are specific to this fork and are not part of upstream SourceGit. See [CHANGELOG.md](CHANGELOG.md) for the full history. + +* **Stacked multi-file diff** across every change view (working copy, commit details, compare, revision compare, submodule compare, stashes): with no file selected the whole change set shows as one scrollable diff; selecting several files stacks those; selecting one shows a single file. Includes a shared toolbar, file navigation, and per-file context controls. +* **Recent-commits block in the repository sidebar**, showing the full commit graph. +* **Bracket tab switching**: Cmd+Shift+[ / Cmd+Shift+] on macOS (Ctrl+Shift on Windows/Linux) moves between tabs; the existing bindings still work. +* **"Open Another Repository..."** entry in the repository switcher (Ctrl/Cmd+P) opens a folder picker for a repo not yet in the list. +* **Fork versioning**: releases carry an `-sk` suffix (shown in the About dialog), and the update check points at this fork's releases instead of upstream's. + ## Screenshots * Dark Theme