Commit Graph

4775 Commits

Author SHA1 Message Date
leo
8e765bede7 feature: enable core.untrackedCache=true and status.showUntrackedFiles=all while querying local changes include untracked files (#2016)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-29 16:17:54 +08:00
leo
85ce03ef3e enhance: it's not necessary to watch the event about size and creation time changes
Signed-off-by: leo <longshuang@msn.cn>
2025-12-29 14:56:15 +08:00
leo
5ca8fd08ad refactor: do not stash untracked files while doing drop/reword/squash/fixup HEAD commit
Signed-off-by: leo <longshuang@msn.cn>
2025-12-29 14:24:50 +08:00
leo
7bed988f59 refactor: do not stash untracked changes while doing checkout/create branch/pull with Stash & Reapply (#2016)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-29 12:58:16 +08:00
leo
4f062c5a71 ux: prevent group label position changing after toggle expander
Signed-off-by: leo <longshuang@msn.cn>
2025-12-29 12:03:55 +08:00
leo
568c819a41 Merge branch 'master' into develop 2025-12-29 10:36:10 +08:00
leo
af96284c5d Merge branch 'release/v2025.41' v2025.41 2025-12-29 10:35:26 +08:00
leo
31a2833ae6 version: Release 2025.41
Signed-off-by: leo <longshuang@msn.cn>
2025-12-29 10:35:18 +08:00
Sina Hinderks
df3acffc06 fix: extra empty lines in diff (Windows) (#2015)
When using CR/LF as newline on Windows, there were extra empty lines
shown in diffs.

Commit b84b79 fixed a regression (#1996) by keeping CRs as content of
diff lines instead of removing them.  Additionally since commit 796f88
(#1543) the output for diffs uses the default newline depending on
platform, that's CR/LF on Windows.

As consequence on Windows with files containing CR/LF as newlines the
content (ending in CR) and the default newline CR/LF resulted in CR CR
LF, which is interpreted as two line breaks instead of one.

So b84b79 introduced itself a regression that's fixed in this commit by
partially reverting commit 796f88.

This fixes #2001.
2025-12-29 10:28:34 +08:00
leo
283f84f6e6 fix: checking if current worktree file changed
Signed-off-by: leo <longshuang@msn.cn>
2025-12-26 20:43:34 +08:00
leo
a273cad23b fix: worktree file status not updated (#2011)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-26 20:38:46 +08:00
ybeapps
120a331151 feat: webhook to release to homebrew (#2010)
this triggers a full workflow that eventually create a PR in hombrew-cask repo
when this PR gets merged - all brew users can consume the new version
2025-12-26 17:07:30 +08:00
leo
e30ed896e2 refactor: use git reset HEAD --pathspec-from-file=<pathspec> instead of git restore --staged --pathspec-from-file=<pathspec> to unstage files
Signed-off-by: leo <longshuang@msn.cn>
2025-12-26 16:57:42 +08:00
leo
974c30b39c ux: tooltip icon position
Signed-off-by: leo <longshuang@msn.cn>
2025-12-26 11:07:56 +08:00
leo
11351af672 ux: commit ref custom renderer
Signed-off-by: leo <longshuang@msn.cn>
2025-12-26 10:52:26 +08:00
ybeapps
27289eb901 doc: simplify Homebrew installation instructions (#2007)
Removed brew tap requirement as SourceGit is now available in the official Homebrew Cask repository. 🎉🎉🎉🎉🎉🎉🎉🎉🎉
2025-12-26 10:19:58 +08:00
leo
fdaf96029d ux: use transparent tab separator pen
Signed-off-by: leo <longshuang@msn.cn>
2025-12-25 17:25:35 +08:00
leo
823949aff2 ux: fix tab border blur (anti-aliased)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-25 15:52:29 +08:00
github-actions[bot]
ab51702b62 doc: Update translation status and sort locale files 2025-12-25 02:33:55 +00:00
Javier J. Martínez M.
29690c7fba localization: update Spanish translation (#2006)
- Add missing strings.
2025-12-25 10:33:43 +08:00
leo
5b8258c64e code_style: tab renderer
Signed-off-by: leo <longshuang@msn.cn>
2025-12-24 19:02:21 +08:00
github-actions[bot]
742e76d26a doc: Update translation status and sort locale files 2025-12-24 08:16:11 +00:00
leo
79feb442ee refactor: auto update submodules (only initialized) after checkout/create branch/merge/pull
Signed-off-by: leo <longshuang@msn.cn>
2025-12-24 16:15:48 +08:00
leo
83be4bd96a enhance: refresh submodules manually after update/de-init submodule
Signed-off-by: leo <longshuang@msn.cn>
2025-12-24 15:28:09 +08:00
leo
a570951b7f code_style: remove unused code
Signed-off-by: leo <longshuang@msn.cn>
2025-12-23 18:40:34 +08:00
leo
4a830bae6f ux: set icon foreground manually since the button is disabled
Signed-off-by: leo <longshuang@msn.cn>
2025-12-23 18:19:19 +08:00
leo
d098f4e49f ux: toolbar buttons in commit message edit box (#2003)
- Change button's `Width` from 24px to 28px
- Disable button while its context menu is opening

Signed-off-by: leo <longshuang@msn.cn>
2025-12-23 18:05:16 +08:00
leo
d9dd2c188d enhance: do not init submodules after merge/pull (only update initialized submodules)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-23 16:41:27 +08:00
leo
6b274ad1b8 ux: content background in flyout
Signed-off-by: leo <longshuang@msn.cn>
2025-12-23 16:18:12 +08:00
leo
8c772f282d enhance: stage/unstage operation
- Do not use `add .` since it may run very slowly
- Rename `UnstageChangesForAmend` command to `UpdateIndexInfo` and force using UTF-8 (without BOM) encoding for inputs
- Remove unused commands

Signed-off-by: leo <longshuang@msn.cn>
2025-12-23 10:12:55 +08:00
leo
4692df985f feature: show total changes in revision compare and branch compare
Signed-off-by: leo <longshuang@msn.cn>
2025-12-22 12:02:26 +08:00
leo
eef1dcccbf fix: crash while reading JetBrains Toolbox's state.json (#1999)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-22 10:39:55 +08:00
github-actions[bot]
50f8e0c796 doc: Update translation status and sort locale files 2025-12-21 02:02:21 +00:00
AquariusStar
a3fbe09b8d localization: update Russian translate (#1997) 2025-12-21 10:02:09 +08:00
leo
9b87f7b819 enhance: starts filesystem watcher in another thread to avoid UI blocking (#1992)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-20 12:00:22 +08:00
leo
a1ff375242 ux: do not show repository's path in window title (#1993)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-20 11:46:44 +08:00
Sina Hinderks
b84b79322f fix: stage/discard/unstage hunk (#1996)
There is a regression bug regarding staging, discarding, and unstaging
hunks.  Depending on the data, these actions may be ignored or only
partially executed.

The following script generates a repository in the current directory
(named after the current directory) with four examples.  Save the script
as `create-hunk-regression.sh`, make it executable with `chmod +x
create-hunk-regression.sh`, and start it with
`./create-hunk-regression.sh`.  (Tested on Linux, should also work on
Windows.)

```bash
#!/usr/bin/env bash

set -e

dir=$(basename $(pwd))

rm -rf "$dir"
git init -b main "$dir" && cd "$dir"

echo -n '1n2n3n4n' | tr 'rn' '\r\n' > cannot-stage-hunks.txt
echo -n '2rn3rn' | tr 'rn' '\r\n' > partially-stages-hunks.txt
echo -n 'test1rnrnrnrntest3rn' | tr 'rn' '\r\n' > partially-stages-or-discards-hunk.txt

echo -n '1rn2rn3rn4rn' | tr 'rn' '\r\n' > cannot-unstage-hunks.txt

git add .
git commit -m 'initial commit'

echo -n '1rn2n3n4rn' | tr 'rn' '\r\n' > cannot-stage-hunks.txt
echo -n '1rn2rn3rn4rn' | tr 'rn' '\r\n' > partially-stages-hunks.txt
echo -n 'test1rnrntest2rnrntest3rn' | tr 'rn' '\r\n' > partially-stages-or-discards-hunk.txt

echo -n '1n2rn3rn4n' | tr 'rn' '\r\n' > cannot-unstage-hunks.txt

git add cannot-unstage-hunks.txt
```

For the examples to fully work you should configure Git/SourceGit the
following way:

  - set `core.autocrlf` to `false`
  - do not enable `--ignore-cr-at-eol` in diff
  - do not ignore wwhitespace changes

This regression was introduced in commit 5c9d96, where breaking up the
diff into lines was changed from explicitly doing it to using the stream
function `ReadLineAsync`.  Whereas the explicit code handled CR and LF
correctly, the stream function handles CR, CR/LF and LF the same way, so
that for Windows newlines (CR/LF) the CR will be lost.

The fix for this regression is going back to the explicit code and
ignoring `ReadLineAsync` for reading diffs.

This should fix at least partially issues #1950 and #1995.
2025-12-20 11:38:06 +08:00
leo
553b157deb code_style: remove Rider warnings
Signed-off-by: leo <longshuang@msn.cn>
2025-12-20 11:35:14 +08:00
cdammanintopix
5f2984f983 fix: crash when the pre-push hook is a broken symlink (#1991) 2025-12-19 18:28:08 +08:00
leo
44fc98c070 feature: auto-detect HTTPS website for git@<host>:<repo> formatted remote (#1636)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-19 18:16:29 +08:00
leo
9ac6afac05 fix: launche's title does not update when last active page is the first one
Signed-off-by: leo <longshuang@msn.cn>
2025-12-19 11:45:58 +08:00
leo
b7bd3e6653 ux: apply workspace color to Move to Workspace context menu entry in launcher's tab
Signed-off-by: leo <longshuang@msn.cn>
2025-12-19 11:36:23 +08:00
leo
02606723b4 enhance: auto-fetching will respect git configuration (#1990)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-19 10:40:31 +08:00
leo
910431ab40 enhance: do not refresh commit details if the new selected commit points to the same revision with old one (#1989)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-19 10:27:42 +08:00
leo
0e08d8ef0b project: upgrade AvaloniaUI to 11.3.10
Signed-off-by: leo <longshuang@msn.cn>
2025-12-19 10:22:54 +08:00
leo
a6a0c3b753 ux: layout change for Welcome page
Signed-off-by: leo <longshuang@msn.cn>
2025-12-18 15:41:08 +08:00
leo
e5788d0957 fix: column headers mis-aligned with rows
Signed-off-by: leo <longshuang@msn.cn>
2025-12-18 15:34:07 +08:00
leo
addafd5ffb ux: commit list in HISTORY page will always turn AllowAutoHide off (#1980) (#1794)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-18 14:59:14 +08:00
leo
f7836c0593 ux: prevent non-auto-hide scrollbar overlap contents (#1980) (#1794)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-18 14:03:34 +08:00
leo
cf528d6b96 doc: update README.md for macOS users (#1988)
Signed-off-by: leo <longshuang@msn.cn>
2025-12-18 10:40:17 +08:00