leo
59758903b3
refactor: rewrite the way to load commit message from $GIT_DIR for in-progress action
...
Signed-off-by: leo <longshuang@msn.cn >
2025-11-17 16:49:55 +08:00
leo
b09d7b86e6
refactor: rewrite in-progress context and clear commit message to reload it from MERGE_MSG
...
Signed-off-by: leo <longshuang@msn.cn >
2025-11-17 16:39:07 +08:00
leo
562f21df6f
enhance: always try to load commit message from $GIT_DIR/MERGE_MSG ( #1915 )
...
Signed-off-by: leo <longshuang@msn.cn >
2025-11-13 18:12:59 +08:00
leo
4d456f8558
enhance: clear updating workingcopy timer while calling MarkBranchesDirtyManually
...
Signed-off-by: leo <longshuang@msn.cn >
2025-11-06 19:29:00 +08:00
leo
fa97d44e60
feature: supports to open file with detected external tools ( #1882 )
...
Signed-off-by: leo <longshuang@msn.cn >
2025-10-30 18:19:08 +08:00
leo
81f622b4b1
enhance: save commit message to .git/MERGE_MSG while closing repo with in-progress state ( #1795 )
...
Signed-off-by: leo <longshuang@msn.cn >
2025-10-24 10:23:36 +08:00
leo
99389dba89
refactor: always load commit message from .git/MERGE_MSG or .git/rebase-merge/message when there is some operation in progress ( #1795 )
...
Signed-off-by: leo <longshuang@msn.cn >
2025-10-23 11:46:36 +08:00
leo
e076cbf6a5
refactor: remove ViewModels.WorkingCopy.StashAllAsync method
...
Signed-off-by: leo <longshuang@msn.cn >
2025-09-02 10:21:42 +08:00
leo
cd80a55629
refactor: file-system watcher
...
- Use `System.Threading.Interlocked` to read/write data
- Use `SourceGit.Models.Watcher.LockContext` to release watcher's lock
- New way to detect file changes in submodules
- Manually update stashes after `git stash` command complete (#1760 )
Signed-off-by: leo <longshuang@msn.cn >
2025-09-01 17:39:07 +08:00
leo
6dd540b09c
refactor: Models.CommitCheckPassed is unnecessary in async mode
...
Signed-off-by: leo <longshuang@msn.cn >
2025-08-29 18:21:17 +08:00
leo
6f24d660c6
fix: rewrite the ConfirmEmptyCommit dialog to avoid pressing the same button more than one time ( #1777 )
...
Signed-off-by: leo <longshuang@msn.cn >
2025-08-29 18:11:43 +08:00
leo
50211312d5
feature: supports --no-verify option while committing ( #1762 )
...
Signed-off-by: leo <longshuang@msn.cn >
2025-08-26 16:36:52 +08:00
leo
291e32e36f
enhance: cancel the running event when a new same refresh event occurs ( #1760 )
...
Signed-off-by: leo <longshuang@msn.cn >
2025-08-24 11:10:53 +08:00
leo
63096ebd55
code_review: PR #1756
...
- Keep translation keys in order
- Add missing translations for zh_CN and en_US
- Rename `WorkingCopy.ClearCommitMessageHistory` to `WorkingCopy.ClearCommitMessageHistoryAsync`
- It's not necessary to use `Dispatcher.UI.Invoke` in event callback
Signed-off-by: leo <longshuang@msn.cn >
2025-08-22 15:57:28 +08:00
ギャップ
c40296946d
feat: add clear history button to commit message template/history dropdown ( #1756 )
...
* feat: add clear history button to commit message template/history dropdown
- Added ClearCommitMessageHistory method to WorkingCopy ViewModel with user confirmation
- Added "Clear History" menu item to commit message picker dropdown
- Implemented thread-safe collection clearing using Dispatcher.UIThread.Invoke
- Added localization support for clear history button and confirmation dialog
- Follows existing codebase patterns for destructive operations with async/await
* fix: dotnet format
2025-08-22 15:44:38 +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
1522da89a2
refactor: more changes to use async methods
...
Signed-off-by: leo <longshuang@msn.cn >
2025-08-14 16:10:09 +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
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
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
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
8989da7538
enhance: supports commit template with relative path ( #1590 )
...
Co-authored-by: King <badly1984@hotmail.com >
Signed-off-by: leo <longshuang@msn.cn >
2025-07-18 10:19:49 +08:00
leo
6ae8c7c759
code_style: move class extensions to App.Extensions.cs to use these extensions anywhere
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-11 18:00:21 +08:00
leo
bfd639c001
enhance: external merge tool can only used for both-added or both-modified conflict(s)
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-11 14:22:08 +08:00
leo
aa803c3141
code_review: PR #1555
...
- Remove unnecessary reference to `System.Linq`
- Stop to auto-stage and commit when there is unsolved conflict(s)
Signed-off-by: leo <longshuang@msn.cn >
2025-07-11 09:59:19 +08:00
Sina Hinderks
7aa008372b
fix: prevent staging conflicted files ( #1555 )
...
It was possible to stage a file with conflicts (double tap, space,
enter, or a stage button). As a result it would no longer be shown as
conflicted, and the user could no longer solve the conflict in any way
(use theirs, use mine, or execute merge tool), not even after unstaging
again.
Now conflicted files are ignored when staging.
2025-07-11 09:43:49 +08:00
leo
7f838f1f88
feature: add hotkeys to open file with default editor
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-08 20:05:37 +08:00
leo
92fb4c8625
feature: add hotkeys to copy file path
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-08 17:54:15 +08:00
Nathan Baulch
f2778ee07a
ux: hotkey tag on external merger menu items ( #1547 )
2025-07-08 16:30:49 +08:00
leo
170308e84f
code_review: PR #1541
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-08 14:36:55 +08:00
oikku
4ef3ed8740
enhance: supports to open Blame (HEAD only) from LOCAL CHANGES ( #1541 )
2025-07-08 14:15:50 +08:00
leo
8f8ed68744
fix: do not change original commit message
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-07 18:04:27 +08:00
leo
c1d6b388f7
code_review: PR #1540
...
- Fix the issue that `StringReader` traits all outputs of `git ls-tree -z` command as a single-line
- Remove unused namespace using
Signed-off-by: leo <longshuang@msn.cn >
2025-07-07 17:52:19 +08:00
Nathan Baulch
5c9d96fe7a
refactor: streamline certain string operations ( #1540 )
2025-07-07 17:36:41 +08:00
leo
b2aac68600
refactor: rewrite integration for git difftool and git mergetool command
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-07 17:16:22 +08:00
leo
8277d7fc1b
enhance: open external tool to merge conflicts instead of viewing diff
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-07 15:49:02 +08:00
leo
4f4b90d424
ux: re-order context menu items
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-07 15:09:05 +08:00
Nathan Baulch
6d068157b4
enhance: diff with merger option on local changes ( #1534 )
2025-07-07 14:53:09 +08:00
leo
b85f100d84
code_review: PR #1532
...
- remove `MenuItemExtension`
- display `Tag` as hotkey tips when `InputGesture` is null
- remove `Avalonia.Input` reference in `ViewModels`
- rewrite `InteractiveRebase` view to avoid using `Tag` in menu item
Signed-off-by: leo <longshuang@msn.cn >
2025-07-07 12:44:31 +08:00
Nathan Baulch
dd3c658a0d
ux: show a few more shortcuts on menu items ( #1532 )
2025-07-07 11:38:06 +08:00
Nathan Baulch
3583527026
code_style: general cleanup ( #1525 )
2025-07-05 15:58:16 +08:00
leo
cdb84c7c43
typo: ShowDailog -> ShowDialog
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-04 15:36:45 +08:00
leo
a6ebc1502c
refactor: show child-window and modal dialog
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-04 14:49:04 +08:00
leo
18b9d982ce
refactor: remove ConfigureAwait when we need to go back to UIThread after it
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-03 18:42:56 +08:00
leo
40765826ce
code_review: PR #1492
...
- Remove all synchronous method in commands
- `Command.ReadToEndAsync` now is protected method
- Rename `ResultAsync` to `GetResultAsync`
- Call `ConfigureAwait(false)` when there's no context
Signed-off-by: leo <longshuang@msn.cn >
2025-07-03 17:30:06 +08:00
Nathan Baulch
463e304491
feature: async ( #1492 )
...
* Async command methods
* Async `Task.Run` where possible
* Remove redundant `Task.Run` in `Sure` methods
* Remove leftover braces and reformat
* Async event handlers as needed
2025-07-03 15:38:39 +08:00
leo
3fe72e919c
code_review: PR #1497
...
Signed-off-by: leo <longshuang@msn.cn >
2025-07-03 11:15:14 +08:00