Commit graph

456 commits

Author SHA1 Message Date
leo
304b175b4b
refactor: remove context menu items about LFS tracking from changes and revision files 2024-09-27 09:46:02 +08:00
leo
9ff28dff72
feature: add git LFS context menu items for changes and revision files in commit details view 2024-09-27 09:39:25 +08:00
leo
05c135a89d
feature: auto add checkout target branch to history filters if the filter list is not empty (#518)
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-09-26 20:37:48 +08:00
leo
5d2a442144
code_review: PR #515
* remove Linq expressions due to AOT limitations. See https://learn.microsoft.com/zh-cn/dotnet/core/deploying/native-aot/?tabs=windows%2Cnet8#limitations-of-native-aot-deployment
* rename `FilteredLocks` to `VisibleLocks`
* use `Commands.Config.Get` instead of `Commands.Config.ListAll`
* disable checkbox if user name is not valid
2024-09-26 15:36:20 +08:00
Mat
21498f7009
Show only my locks (#515)
* Added a checkbox in the LFSLocks window to only show the ones locked by "Mat"
* Waits for the locks list to finish loading before making the checkbox clickable
* Now uses correct username for lock filtering.
   WIP: needs an error popup if user is misconfigured
* Added an error popup if username is empty on lfs locks
* Replaced an IEnumerable with a AvaloniaList for consistency
2024-09-26 15:00:31 +08:00
leo
1ba294a07b
refactor: move auto-fetch from global preference to repository settings
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-09-26 10:50:21 +08:00
leo
a8ce4e6d95
feature: when toggle a local branch filter, if it has a tracked upstream branch, do the same for the upstream branch (#513) 2024-09-25 20:30:48 +08:00
leo
85b83990a8
code_style: run dotnet format
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-09-25 16:24:04 +08:00
leo
acf71a30b8
enhance: re-calculate the opened repositories in active workspace (#511) 2024-09-25 15:07:23 +08:00
leo
6b44fd4416
code_style: remove unused codes
Some checks are pending
Continuous Integration / Build (push) Waiting to run
Continuous Integration / Prepare version string (push) Waiting to run
Continuous Integration / Package (push) Blocked by required conditions
2024-09-24 18:22:18 +08:00
leo
d1d913aa45
fix: do NOT delete .git/rebase-merge and .git/rebase-apply folders (#509) 2024-09-24 18:19:22 +08:00
leo
b9597dc92a
ux: new layout for Staticstics window 2024-09-24 17:06:16 +08:00
leo
c0f59c441b
feature: allow user to select the chart fill color 2024-09-24 12:14:51 +08:00
leo
af57c56cd7
feature: enhanced statistics panel (#493)
* replace the `YEAR` tab with `OVERVIEW` tab, which will analyze most recent 20K commits
* use `LiveChartsCore.SkiaSharpView.Avalonia` instead of a custom chart view
2024-09-23 21:45:44 +08:00
leo
0ed1f369e9
feature: display commit's detail info even if the commit is not shown in histories 2024-09-19 14:38:11 +08:00
leo
687b58576d
code_style: use readonly property instead of responsive property for Workspace.Brush 2024-09-19 09:21:04 +08:00
leo
84fda6a8db
feature: add property RestoreOnStartup property to ViewModels.Workspace (#488) 2024-09-18 21:35:33 +08:00
leo
900ebd8282
feature: supports parameters in commit template (#487)
- ${files_num} will be replaced with staged changes count
- ${files} will be replaced with changed file paths
- ${files:N} will be replaced with top N changes file paths and with `and {TOTAL - N} other files` at end of replaced string.
2024-09-18 20:11:34 +08:00
leo
bbd4012bc5
enhance: do NOT create sub-nodes for detached HEAD 2024-09-18 16:02:38 +08:00
leo
9c6745c271
enhance: skip auto fetching when index.lock file exists in the repository's git dir 2024-09-18 14:49:53 +08:00
leo
bc633e4085
code_review: PR #480
* remove `string.IsNullOrEmpty(OS.ShellOrTerminal)` checking from detail backend since it has been checked by `Native.OS.OpenTerminal`
* remove `ViewModels.Preference.IsTerminalConfigured` because it is only used by itself (Unlike `IsGitConfigured`).
* add `Native.OS.TestShellOrTerminal` and use it instead of setting `Preference.ShellOrTerminal` directly, because we have binded a callback that will save preference into file when its property changed. It may cause lag in some enviroments if we saving preference into file too frequently (see PR #436).
* run `dotnet format`
2024-09-17 22:09:51 +08:00
Aikawa Yataro
54ab625931
enhance: select any terminal when none is set 2024-09-17 07:20:17 +00:00
leo
1a4d3d0086
enhance: remember the height/width of commit list and detail panel in histories page (#472) 2024-09-14 17:22:29 +08:00
leo
d6b21bad17
feature: now image file previewer shows the image size and file size 2024-09-14 16:13:40 +08:00
leo
fb0120d338
refactor: terminal/shell integration (#471) 2024-09-14 12:09:50 +08:00
leo
1ec5cc416d
enhance: leave remote branch to empty when the local branch tracks no branch in the remote while pulling changes (#469) 2024-09-13 17:29:24 +08:00
leo
cc6e486663
enhance: do NOT modify repository's local configuration if it is equals to default value 2024-09-13 15:20:52 +08:00
leo
ea3a6a4755
feature: auto focus the next change after stage/unstage selected changes (#464) 2024-09-12 16:33:56 +08:00
leo
16f8e2fd0b
feature: simple implementation for generating commit message by OpenAI (#456) 2024-09-12 09:42:47 +08:00
leo
2d611cf988
fix: repository settings did not saved correctly when closing app (#459) 2024-09-11 10:20:12 +08:00
leo
3cebff6722
enhance: when open sourcegit with repository from commandline disable all workspaces 2024-09-10 17:47:08 +08:00
leo
7b2da25c0b
enhance: do NOT save preference.json while loading 2024-09-10 16:37:39 +08:00
leo
853d5ce20e
code_style: remove debug code 2024-09-10 11:20:59 +08:00
leo
69117e8ee9
refactor: use custom color picker instead of Avalonia.Controls.ColorPicker 2024-09-10 11:02:34 +08:00
leo
9934586ee0
enhance: remember the active page index for each workspace (#445) 2024-09-09 19:40:44 +08:00
leo
e63034acd5
enhance: when open repository from commandline, create a new workspace Unnamed for it, and never add it to preference (#445) 2024-09-09 19:14:44 +08:00
leo
0190c2111d
enhance: workspace tooltip (#445) 2024-09-09 18:47:53 +08:00
leo
ebc112a627
feature: workspace support (#445) 2024-09-09 18:26:43 +08:00
leo
b1457fe39d
feature: supports filter submodules (#443) 2024-09-06 09:57:22 +08:00
leo
998230edff
code_style: simplify static commands used by styles and main menu; run dotnet format 2024-09-02 20:27:12 +08:00
leo
e27d2d6a3f
enhance: change default search commit method to Message 2024-09-02 19:51:42 +08:00
leo
b85c2a1754
ux: re-arrange context menu items of RepositoryNode in welcome page 2024-09-02 17:44:02 +08:00
leo
72fbab3b2e
ux: new icon for Move to Anthor Group 2024-09-02 17:33:00 +08:00
leo
dffd9d7676
feature: add context menu item to move repository node (#437) 2024-09-02 17:05:43 +08:00
leo
931831431b
enhance: reduce the times calling Save() (#436) 2024-09-02 14:14:52 +08:00
leo
9fe8ffcea9
code_review: PR #436
It's ok to call `Save()` multiple times after property of `ViewModels.Preference` changed immediately. If we delay the saving operation 3 seconds after the property changed event, we reduce the times calling `Save`, but the issue metioned in #436 may still exists.
2024-09-02 12:20:11 +08:00
Gadfly
c85293c86a
enhance: support save RepositoryNode changes instantly 2024-09-02 12:05:24 +08:00
Gadfly
28b6ce4993
enhance: save preference.json instantly 2024-09-02 10:51:48 +08:00
leo
a2c6afc5cc
enhance: add file histories context menu item for staged changes and deleted files (#432) 2024-09-02 09:41:00 +08:00
leo
f586979ac5
fix: crash when scan repositories under default clone dir (#434) 2024-09-02 07:54:46 +08:00
leo
ef9396bf57
code_review: PR #428
* remove unused namespace using
* remove the duplicated menu seperator between `Open in Merge Tool` and `Reveal in File Explorer`
* keep the same menu item orders both in changes and revision files
2024-08-30 21:38:43 +08:00
Yitzchak Ben-Ezra
8c9e8e5dbc Reset to Parent Revision
* support reset to parent revision for Added files too
* support reset to parent revision in Files tab
* support reset to parent revision in Changes - now supports Renamings too

now it behaves more like git-extensions
2024-08-30 15:42:24 +03:00
leo
089f24b0d2
fix: can not create subgroups (#427) 2024-08-30 16:59:51 +08:00
leo
bb749f225d
enhance: auto create group by relative path when scanning repositories under default clone dir (#427) 2024-08-30 16:45:45 +08:00
leo
0d676fa3fb
feature: add a button to scan repositories under default clone dir (#427) 2024-08-30 16:14:10 +08:00
leo
d794a61196
enhance: remember the width of author name column in histories view (#425) 2024-08-29 10:17:22 +08:00
leo
a573436b67
feature: add supports for .webp image format (#421) 2024-08-28 18:58:01 +08:00
leo
3d57398d15
refactor: show statistics data by authors intead of committers 2024-08-28 18:38:29 +08:00
leo
c90abd0ca2
refactor: commit search
* no longer depends on the commits displayed in histories view
* limit the number of commits returned by all search methods to a maximum of 1000
2024-08-28 16:56:43 +08:00
leo
3ea80d99f1
code_style: remove unused namespace using and run dotnet format 2024-08-28 13:42:25 +08:00
leo
ce2340456e
feature: cherry-pick multiple commits (#418) 2024-08-28 11:26:00 +08:00
leo
bd6228bb26
refactor: using ListBox instead of DataGrid for commit list and remove dependency of Avalonia.Controls.DataGrid 2024-08-28 10:02:14 +08:00
leo
7776cda475
enhance: using lightweight ListBox instead of DataGrid to improve performance 2024-08-27 21:28:48 +08:00
leo
b16d267c9b
enhance: show git errors when failed to get the repository root dir of given path (#397) 2024-08-27 15:35:10 +08:00
Gadfly
5e02b08d48
fix: avoid crash when closing a repo which is deleted in file system 2024-08-27 10:51:15 +08:00
Gadfly
80559ce199
fix: try-catch OpenFolderPickerAsync to avoid crash when select a directory is NOT exist 2024-08-27 10:40:49 +08:00
leo
110858eaa2
enhance: mark working copy dirty after stash changes (#411) 2024-08-26 18:05:57 +08:00
leo
0074ea3c60
enhance: after commit mark branch dirty instead of only workcopy changes dirty (#411) 2024-08-26 18:03:17 +08:00
leo
ad0773be2f
enhance: avoid crashing when failed to create filesystem watcher for repository (#411) 2024-08-26 17:50:13 +08:00
leo
184c89ea1d
feature: supports squash multiple commits into selected commit (#408) 2024-08-25 21:39:59 +08:00
leo
4f8ccc4563
enhance: clean search filter when open Welcome page by closing the last opened repository tab 2024-08-25 20:51:53 +08:00
leo
585cf14162
enhance: new welcome page will clear the search filter before 2024-08-25 18:31:05 +08:00
leo
8f7567a060
feature: do NOT save visual diff context lines 2024-08-25 11:33:38 +08:00
leo
e9eb433471
ux: change default view mode in FileHistories to CHANGES 2024-08-25 11:20:10 +08:00
leo
9a68d70b29
feature: add a button in file histories view to reset selected file to selected commit 2024-08-24 12:06:38 +08:00
leo
db8de81120
refactor: rewrite file histories page to only focus on selected file (#403) 2024-08-24 11:36:02 +08:00
leo
854563ef41
enhance: support search repository path 2024-08-23 17:25:21 +08:00
leo
6ab0900b20
feature: add a button to see which branches and tags that contains selected commit (#388) 2024-08-23 16:52:55 +08:00
leo
4120331eda
refactor: there's no need to use AvaloniaList since we have replaced the TreeView with custom control 2024-08-23 11:24:31 +08:00
leo
c1ee47a79d
code_style: remove unused code and run dotnet format 2024-08-23 10:28:16 +08:00
leo
38e2e0f3f4
refactor: rewrite the welcome page since the original TreeView has many limitations (#391) 2024-08-22 21:10:23 +08:00
leo
af6d2cc725
fix: TreeView do NOT support NavigationMethod.Direction with invisible nodes (#391) 2024-08-22 18:11:25 +08:00
leo
8b469e7778
enhance: show untracked submodules in unstaged (#393) 2024-08-22 14:10:32 +08:00
leo
d5e51d1f32
feature: supports using native window frame on Linux (#390) 2024-08-22 12:37:26 +08:00
leo
323dc2e87f
code_review: PR #386
* rename `FirstParentFilterToggled` to `EnableFirstParentInHistories`
* remove `FirstParentFilterEnabled` from repo settings - it should not been saved
* move toggle button from repository toolbar to histories switcher
* tooltip translations
* new icon for `Icons.FirstParentFilter`
* extends commit graph to support `--first-parent` option
2024-08-21 19:45:32 +08:00
Yitzchak Ben-Ezra
d21cc2c96a first-parent-filter
need help in two issues:
1. use better icon - I just reused the Filter icon
2. lines of merge commits are still rendered - need to skip them since they don't link to any commit when filter enabled. I didn't manage to solve by my own right now
2024-08-21 09:04:35 +03:00
leo
191763e1d8
refactor: commit sha link in message (#382)
* remove the built-in commit issue tracker rule
* hyperlink in commit message now supports commit sha
2024-08-21 12:46:36 +08:00
leo
48adad53b4
feature: supports the commit hash issue tracker (#382)
Using issue tracker instead of built-in supported commit web link is based on the following reasons

* repo may have multiple remotes
* it is not good to open an context menu to choose which web to visit with multiple remotes
* some remote servers are not supported by this app
2024-08-21 10:44:07 +08:00
leo
d4a9343eaf
feature: add an option to enable --recurse-submodules=check on push (#345) 2024-08-20 15:20:58 +08:00
leo
d66053a42d
code_style: run dotnet format 2024-08-20 11:53:37 +08:00
leo
9057b71f2d
refactor: rewrite the font configuration (#366)
* input font name directly instead of a font picker because localized font family name is not supported by Avalonia
* fallback monospace font to default font
* remove unused code
2024-08-19 17:14:41 +08:00
leo
24dde77548
refactor: rewrite SourceGit.App 2024-08-19 12:49:29 +08:00
leo
84b8735d6c
code_style: run dotnet format 2024-08-18 23:14:44 +08:00
leo
7fe1df20cc
refactor: delay starting background tasks
* start background task only it is needed
* solve the problem that we can not use `ViewModels.Preference.Instance` until resource ready
* remove avatar sever settings
2024-08-18 23:10:54 +08:00
leo
6ac7ff2882
feature: add context menu item to checkout file with revision 2024-08-16 14:49:26 +08:00
leo
f71cd237cb
enhance: disable reset file to parent revision when it has been renamed
* new icon for checkout file
2024-08-16 11:55:36 +08:00
leo
addbb19728
feature: add context menu items to revision changes to reset (checkout) selected file to this revision or to it's first parent file version (#359) 2024-08-15 22:13:20 +08:00
leo
2ffc1b7178
enhance: manually stage all changes instead of using --all parameter in git commit 2024-08-15 20:09:38 +08:00
leo
b3327ebeb5
feature: supports commit template (#264) 2024-08-15 18:59:35 +08:00
leo
eaad685d06
fix: typo 2024-08-15 10:43:38 +08:00