Commit Graph

1044 Commits

Author SHA1 Message Date
leo
8ac5896280 refactor: text diff navigation
- Remove navigation by prev/next change of first/last visible block. Always use Block-Navigation
- Remove auto-updating current actived block on text view scrolling
- Auto update current active block when caret position changed
- Clean up unused resources

Signed-off-by: leo <longshuang@msn.cn>
2025-08-21 10:42:16 +08:00
leo
2da8a1d6bf fix: toggle Ignore All Whitespace Changes does not work when there is only whitespace changes (#1752)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-21 09:16:23 +08:00
leo
13d5c5fc6d feature: add a configuration in Preferences window to open LOCAL CHANGES pages by default (#1750)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-20 20:19:07 +08:00
leo
20117a399b refactor: re-write the way to manually update repository immediately (#1720)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-20 19:38:14 +08:00
leo
898528fc92 fix: unable to save selected staged changes to patch
Signed-off-by: leo <longshuang@msn.cn>
2025-08-20 14:25:44 +08:00
leo
065ec2a909 feature: add option to turn off auto-updating current block while scrolling in diff view with Block-Navigation enabled
Signed-off-by: leo <longshuang@msn.cn>
2025-08-19 19:44:40 +08:00
leo
6511d15c01 refactor: rewrite text diff view
- Move some data-only code from `Views` to `ViewModels`
- Remove unnecessary attributes
- This commit also contains a feature request #1722

Signed-off-by: leo <longshuang@msn.cn>
2025-08-19 15:53:03 +08:00
leo
4e01270cc0 feature!: add built-in parameter ${BRANCH_FRIENDLY_NAME} for custom action
- BREAKING CHANGE: Change `${BRANCH}` to pure branch name, which means it not contains the `${REMOTE}` part for remote branch
- Re-design UI/UX for custom action

Signed-off-by: leo <longshuang@msn.cn>
2025-08-15 16:50:21 +08:00
leo
d66a083113 feature: support creating custom action for selected remote (#1726)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-14 17:53:11 +08:00
leo
c4ae21ea71 code_style: async method names
Signed-off-by: leo <longshuang@msn.cn>
2025-08-14 16:18:44 +08:00
leo
1522da89a2 refactor: more changes to use async methods
Signed-off-by: leo <longshuang@msn.cn>
2025-08-14 16:10:09 +08:00
leo
237d4bc7e5 feature: support compact folders display mode in changes tree view (#1674) (#1729)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-14 15:22:27 +08:00
leo
ce23e8cb20 refactor: use async methods to commit changes
Signed-off-by: leo <longshuang@msn.cn>
2025-08-14 12:53:16 +08:00
leo
3cce6c50a6 feature: share settings between worktrees (#1665)
NOTE: we can only share settings between worktrees for reading! It means that the repository settings only saved by the main repository not worktrees
Signed-off-by: leo <longshuang@msn.cn>
2025-08-14 12:16:49 +08:00
leo
04055f66c4 refactor!: move local issue tracker rule settings from $GIT_DIR/sourcegit.issuetracker to default repo's git config (#1725)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-14 11:18:50 +08:00
leo
cf5b708e16 revert: remove remote.<name>.pruneTags configuration support (#1692)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-14 10:21:35 +08:00
leo
9ce29bb9bc feature: supports to configure remote.<name>.pruneTags while adding or editing remote (#1692)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-13 21:13:50 +08:00
leo
ffa1a36e69 enhance: copy remote names before running auto-fetch
Signed-off-by: leo <longshuang@msn.cn>
2025-08-13 16:48:50 +08:00
leo
29269b2528 enhance: use await Dispatcher.UIThread.InvokeAsync instead of Dispatcher.UIThread.Invoke to make sure all code are running in order
Signed-off-by: leo <longshuang@msn.cn>
2025-08-13 15:53:15 +08:00
leo
e64921b616 enhance: dispatch auto-fetch in UIThread
Signed-off-by: leo <longshuang@msn.cn>
2025-08-13 15:31:43 +08:00
leo
48526a6468 enhance: cleanup popup before cancel
Signed-off-by: leo <longshuang@msn.cn>
2025-08-13 14:47:26 +08:00
leo
33de0fe219 enhance: clean up popup before closing tab
Signed-off-by: leo <longshuang@msn.cn>
2025-08-13 11:06:56 +08:00
leo
c134337077 refactor: rewrite the way to register git command log receiver
Signed-off-by: leo <longshuang@msn.cn>
2025-08-12 20:15:14 +08:00
leo
bd81ccd94f fix: main thread deadlock cause by calling .Result directly (#1720)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-12 16:03:58 +08:00
leo
b746e8ea55 feature: allow to select multiple tags and delete theme from context menu (#1717)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-12 14:23:26 +08:00
leo
c27c9f6b10 feature: show tagger in annotated tag's tooltip (#1664)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-05 21:22:39 +08:00
leo
9734026e39 refactor: remember last check state of Fetch all remotes and repect it while auto-fetching (#1647)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-05 12:39:53 +08:00
leo
6ddbc6f92a code_review: PR #1660
Since `$GIT_DIR` is the same with `$GIT_COMMON_DIR` for submodules, use `$GIT_DIR` directly to ignore submodule's main worktree  while querying worktrees

Signed-off-by: leo <longshuang@msn.cn>
2025-08-04 20:35:24 +08:00
Gadfly
6cad70db24 fix: exclude main worktree by comparing with commonDir in submodules (#1660)
Fixes worktree detection in submodules where worktree.FullPath differs from commonDir path.
2025-08-04 20:10:07 +08:00
leo
e9bc7fc5be refactor: disable --all by default while fetching (#1647)
- If there's only one remote or we have selected the remote to fetch changes from, do not show `Fetch all remotes` option
- Disable `--all` by default

Signed-off-by: leo <longshuang@msn.cn>
2025-08-04 18:22:25 +08:00
leo
a4306fe6e3 feature: double-clicking tag will try to checkout (detached mode) the revision refered by selected tag (#1661)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-04 17:53:42 +08:00
leo
0acff99945 refactor: use <revision_sha>^ instead of <revision_parent_sha> as base revsion when getting changes of commit (#1625)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-28 17:23:24 +08:00
leo
ab14e818be refactor: simplify the invocation of external merge/diff tool
Signed-off-by: leo <longshuang@msn.cn>
2025-07-28 14:18:34 +08:00
leo
c7a01f646f fix: GetCanStagedChanges should allow stage conflict that has been resolved manually (#1621)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-25 17:35:32 +08:00
leo
619fc3c073 feature: auto-track remote branch when the remote branch is first time to checkout (#1616)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-24 18:23:52 +08:00
leo
e2bf9ccc98 code_style: move some code from Views.Histories to ViewModels.Histories
Signed-off-by: leo <longshuang@msn.cn>
2025-07-24 12:51:22 +08:00
leo
5ff34501bd feature: add a button to scroll to the top of commit list
Signed-off-by: leo <longshuang@msn.cn>
2025-07-24 11:39:24 +08:00
leo
731e5a722a refactor: drag & drop folders on repository tree (#1611)
- Allows to drag-drop multiple folders to repository tree
- Drag & drop folder to repository tree will not open repository directly

Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 21:15:26 +08:00
leo
9629a339dd refactor: use async instead of .Result when it is called by delegates
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 20:22:05 +08:00
leo
5339adec65 refactor: use async instead of Task.Run
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 17:15:16 +08:00
leo
6b9ba599d2 refactor: move context menu creation from ViewModels to Views (PART 10)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 17:01:22 +08:00
leo
c08f15827f refactor: move context menu creation from ViewModels to Views (PART 9)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 16:15:43 +08:00
leo
fa44d9c378 refactor: move context menu creation from ViewModels to Views (PART 8)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 15:56:13 +08:00
leo
2a2f01c34b refactor: move context menu creation from ViewModels to Views (PART 7)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 14:59:11 +08:00
leo
03160d339e refactor: move context menu creation from ViewModels to Views (PART 6)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 14:00:20 +08:00
leo
dd00d0e7a8 refactor: move context menu creation from ViewModels to Views (PART 5)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 13:41:45 +08:00
leo
f2830e9573 refactor: move context menu creation from ViewModels to Views (PART 4)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 13:21:19 +08:00
leo
f65288247b refactor: move context menu creation from ViewModels to Views (PART 3)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 12:38:30 +08:00
leo
c29e1e2490 refactor: move context menu creation from ViewModels to Views (PART 2)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 12:30:02 +08:00
leo
b3087c3076 refactor: move context menu creation from ViewModels to Views (PART 1)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-23 12:22:21 +08:00