Commit Graph

467 Commits

Author SHA1 Message Date
leo
e87eb8137b fix: try to avoid asking ssh passphrase every time while communicating with remote (#1577)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-13 16:53:54 +08:00
leo
2919433a91 code_style: only Commands.DiffTool needs synchronous method Exec
Signed-off-by: leo <longshuang@msn.cn>
2025-08-13 16:13:37 +08:00
leo
5b6450d026 code_style: move protected methods together
Signed-off-by: leo <longshuang@msn.cn>
2025-08-13 11:14:41 +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
6a8bde412a fix: sometimes %ct of branch returns empty string (#1715)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-11 19:06:31 +08:00
leo
ff15420ac4 fix: crash when tag's %(creatordata) returns empty string (#1705)
Signed-off-by: leo <longshuang@msn.cn>
2025-08-09 10:27:01 +08:00
leo
c208ef3647 revert: getting askpass for every action even when it's not necessary (#1577)
This reverts commit 6822ae3e2e.

Signed-off-by: leo <longshuang@msn.cn>
2025-08-06 12:01:37 +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
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
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
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
d8c8765aa3 code_style: add CreateIssueTrackerCommand to generate Commands.IssueTracker
Signed-off-by: leo <longshuang@msn.cn>
2025-07-22 21:42:00 +08:00
leo
b345bb4668 refactor: use the same method to save both local and shared issuetracker (#1599)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-22 21:03:50 +08:00
leo
6822ae3e2e fix: getting askpass for every action even when it's not necessary (#1577)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-21 17:51:32 +08:00
leo
b467eddead feature: supports to share issuetracker rules in .issuetracker file (#1567)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-18 13:09:34 +08:00
leo
eb04c872a9 fix: crash when stash message is null
Signed-off-by: leo <longshuang@msn.cn>
2025-07-16 18:24:25 +08:00
leo
dba6b7555e feature: supports to use git-credential-libsecret instead of git-credential-manager on Linux (#1560)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-16 16:26:28 +08:00
leo
4c4af6ef68 feature: supports to discard all local changes without untracked files (#1586)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-16 15:37:11 +08:00
leo
c20b469400 fix: can not unstage changes with amend (#1582)
`git update-index --index-info` requires paths are separted by LF (not CRLF)

Signed-off-by: leo <longshuang@msn.cn>
2025-07-15 14:38:00 +08:00
leo
46690f4afb refactor: use SSH_ASKPASS_REQUIRE=force instead of DISPLAY=required
Signed-off-by: leo <longshuang@msn.cn>
2025-07-15 11:51:24 +08:00
leo
d28bd92e4f fix: missing .Quoted() for stash message
Signed-off-by: leo <longshuang@msn.cn>
2025-07-15 11:36:10 +08:00
leo
7627600939 fix: wrong editor configuration commandline passing to git (#1576)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-14 17:22:58 +08:00
Nathan Baulch
a229a19b2e fix: discard null process output data (#1571) 2025-07-14 10:03:43 +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
Nathan Baulch
9c039215cf fix: escape double quotes in quoted git command strings (#1559) 2025-07-11 15:53:42 +08:00
leo
b1efd6527c feature: allows to reword HEAD commit while keeping local changes
Signed-off-by: leo <longshuang@msn.cn>
2025-07-11 14:09:41 +08:00
Nathan Baulch
3f5f74d7ae enhance: support --autostash on interactive rebase (#1556) 2025-07-11 13:27:07 +08:00
leo
8f9094fc77 fix: should use File.Create instead of File.OpenWrite
Signed-off-by: leo <longshuang@msn.cn>
2025-07-11 10:39:33 +08:00
leo
8bdc1c5976 code_style: a few more to PR #1543
Signed-off-by: leo <longshuang@msn.cn>
2025-07-09 16:37:12 +08:00
Nathan Baulch
796f8898c9 code_style: general cleanup (#1543)
* code_style: general cleanup

* feedback fixes
2025-07-09 16:12:03 +08:00
leo
af7e68b3db ux: use the same tooltip style for submodule when displaying as tree
Signed-off-by: leo <longshuang@msn.cn>
2025-07-09 15:18:04 +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
f7b2063e8d refactor: rewrite integration for git branch command
Signed-off-by: leo <longshuang@msn.cn>
2025-07-07 17:25:48 +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
fba1b63af8 feature: supports to change submodule's branch (#1513)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-05 19:16:07 +08:00
Nathan Baulch
3583527026 code_style: general cleanup (#1525) 2025-07-05 15:58:16 +08:00
leo
5687265582 feature: supports git submodule set-url -- <path> <new_url> (#1506)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-04 16:53:27 +08:00
leo
56a9447e19 feature: supports to move selected submodule (#1507)
Signed-off-by: leo <longshuang@msn.cn>
2025-07-04 11:00:24 +08:00
leo
9ecf83d1d6 enhance: use ConfigureAwait for commands to query submodules
Signed-off-by: leo <longshuang@msn.cn>
2025-07-03 20:57:03 +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
Nathan Baulch
ec17ea9901 code_style: general cleanup (#1497) 2025-07-03 10:32:03 +08:00
Nathan Baulch
25afcba44b refactor: auto dispatch notifications to UI thread in Launcher (#1489) 2025-07-02 13:09:30 +08:00
leo
61372e2ffd code_review: PR #1472
Move `Commands.IsCommitSHA` testing from `Commands.QuerySingleCommit` to `ViewModels.Repository.StartSearchCommits`,  because we only need test the SHA user typed in

Signed-off-by: leo <longshuang@msn.cn>
2025-06-30 10:06:13 +08:00
Sina Hinderks
8602ba2fc3 fix: searching for tree/blob hash never-ending (#1472)
Searching for a tree or blob hash instead of a commit hash created a
seemingly never-ending search (internally an exception was thrown).

Examples for non-ending searches in the SourceGit repository itself are
searching for 6b83a0a (that is the tree "src" of commit 190d2ee) or
e686a53 (that is the file ".gitignore" in the tree of commit 190d2ee).
2025-06-30 10:00:32 +08:00
leo
133b69de4a feature: supports to copy selected folder path in changes and rename searching by file to searching by path (#1470)
Signed-off-by: leo <longshuang@msn.cn>
2025-06-28 12:38:03 +08:00
Nathan Baulch
1acf2a14df code_style: general cleanup (#1469) 2025-06-28 10:25:56 +08:00