Commit graph

485 commits

Author SHA1 Message Date
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
leo
bf6ac4d20d
refactor: rewrite commit web link
* add support for Bitbucket
2024-08-15 10:39:31 +08:00
leo
ec14d9d533
refactor: remove binding errors 2024-08-13 20:40:05 +08:00
leo
abdf9d7e75
refactor: rewrite commit web links 2024-08-13 19:30:10 +08:00
leo
59a7c74fd1
fix: try to fix issue #338
* use custom control to draw badges
2024-08-13 18:24:28 +08:00
leo
f3406e93fc
fix: try to fix issue #338
* upgrade Avalonia to `11.1.3`
* use reactive property instead of simple getter
2024-08-13 17:38:58 +08:00
leo
34a598d421
feature: add commit web links (#357) 2024-08-13 17:15:17 +08:00
leo
a145d6e4c3
revert: remove issue link support in commit list
* improve render performance
* the links in commit list are very easy to click by mistake
2024-08-13 15:58:34 +08:00
Gadfly
04c9214fc0
fix: remove null-check of sshKey in EditRemote 2024-08-12 19:28:01 +08:00
leo
429e037adb
feature: use Ctrl + click to stash all changes automatically with default options (#351) 2024-08-12 15:11:49 +08:00
leo
965a4b21ae
feature: use Ctrl + click to start fetch/pull/push automatically with default options (#351) 2024-08-12 15:01:00 +08:00
leo
de2f70b8ea
feature: supports display tags in a tree (#350) 2024-08-11 18:12:58 +08:00
leo
ed2d3279e1
enhance: create branch on detached HEAD (#344) 2024-08-09 16:06:28 +08:00
leo
c596427380
fix: ahead/behind indicator of commit in histories view not updated after upstream changed 2024-08-09 15:17:04 +08:00
leo
3a54471ea5
refactor: rewrite branch auto-select after remote changed while pulling (#342) 2024-08-09 14:08:25 +08:00
leo
f98423b4c7
enhance: auto-select branch after remote changed while pulling (#342) 2024-08-09 14:03:31 +08:00
leo
a75d50bf97
refactor: rename Models.Watcher.UpdateSubmodules to Models.Watcher.SetSubmodules
* run `dotnet format`
2024-08-09 11:33:37 +08:00
leo
1fe2be11a7
refactor: rewrite submodule to support IsDirty state (#339) 2024-08-08 21:11:10 +08:00
leo
eb441852b0
enhance: allow edit commit message only with Amend (#336) 2024-08-08 15:18:35 +08:00
leo
6bd0920d71
feature: enable syntax highlighting in revision files view (#333) 2024-08-08 10:12:39 +08:00
leo
3609d46c1f
enhance: pop stash directly instead of apply+drop 2024-08-07 15:59:35 +08:00
leo
3bcf4e128e
enhance: get count of changed file (without untracked) directly (#316) 2024-08-07 15:52:58 +08:00
leo
8c16ded6bd
enhance: ignore untracked files when calculate local changes in checkout/create branch/pull (#316) 2024-08-07 15:38:18 +08:00
leo
71c2ad989b
enhance: do not call git add before git stash push when enable auto stash in checkout/create branch/pull (#316) 2024-08-07 15:20:21 +08:00
leo
3506df40e0
refactor: rewrite SetDetail for selected working copy changes (#328) 2024-08-06 17:17:41 +08:00
leo
e50db02ea8
fix: SelectedUnstaged and SelectedStaged should always be re-calculated (#328) 2024-08-06 17:08:01 +08:00
leo
f41f8266d2
ux: rebase popup should always be closed after started (#327) 2024-08-06 16:39:54 +08:00
leo
2e433aa278
refactor: set detail directly instead of reset selected changes 2024-08-06 14:36:58 +08:00
Gadfly
519d9c770c
fix: clean SelectedStaged after commit 2024-08-06 14:23:47 +08:00
leo
9bee51686a
feature: show issue link on commit list of histories view (#315) 2024-08-06 11:02:52 +08:00
leo
90e3abed8d
enhance: keep selection after unstaging (#320) 2024-08-06 10:42:55 +08:00
leo
dfd098e131
refactor: merge sourcegit.issuetracker.setting to sourcegit.settings. 2024-08-05 18:18:57 +08:00
leo
f754b2c63a
feature: supports issue tracker in commit message (#315) 2024-08-05 17:34:49 +08:00
leo
eb437df9fe
enhance: reduce commits loading time for interactive rebase 2024-08-01 18:05:58 +08:00
leo
7891b1124e
feature: asking to create local branch instead of checkout commit if some remote branch's HEAD is selected commit (#295) 2024-08-01 16:59:39 +08:00
leo
58357f031d
ux: add a new icon Icons.Stashes.Add 2024-08-01 11:45:20 +08:00
leo
ec6fe25e87
code_style: run dotnet format 2024-07-31 16:26:58 +08:00
leo
f55a576013
refactor: rewrite amend behaviour (#300)
* toggle amend will show changes in HEAD commit
* since discard is not compatible with staged changes in `amend` mode, we only allows user to discard unstaged changes
2024-07-31 12:04:52 +08:00
leo
7f8b8a19a0
feature: add auto complete box for searching commits by file path 2024-07-30 15:59:54 +08:00
leo
addfb449cc
feature: double click on commit (#295)
* when commit is current branch head, do nothing
* when commit is head of some local branch which is not current, try to checkout this branch
* otherwise, ask user should checkout selected commit as deteched
2024-07-30 11:47:58 +08:00
leo
b18f86dde9
fix: ui not updated after font changed 2024-07-30 10:29:07 +08:00
leo
aea61e0067
feature: add a toggle button in Preference dialog to only use monospace font in code editor (#292) 2024-07-29 20:20:27 +08:00
leo
efa02d9e96
ux: remove unnecessary controls 2024-07-29 15:07:41 +08:00
leo
29ce95e81e
enhance: new regex for tag name (#290)
* `(?!\.)` should not starts with `.`
* `(?!/)` should not starts with `/`
* `(?!.*\.$)` should not end with `.`
* `(?!.*/$)` should not end with '/`
* `(?!.*\.\.)` should not contains `..`
2024-07-29 14:38:09 +08:00
leo
2c9c36d832
enhance: support character '/' in tag name (#290) 2024-07-29 10:23:29 +08:00
leo
a3a3a0e4e9
enhance: add a button to clear git.http.proxy configuration 2024-07-28 10:11:10 +08:00
leo
20b45a1cf4
fix: when base is current worktree, the diff content of selected change is wrong
* remove warnings in JetBrains Rider (it seems JetBrains can NOT recognize Binding.TargetNullValue)
2024-07-27 21:35:57 +08:00
leo
4612cecf10
code_review: PR (#288)
* add missing translations and it's no need to add `OnPull` suffix since it already has a prefix `Text.Pull.`
* when enable fetching all branches of selected remote, use merge/rebase command instead of pull
* re-arrange orders of options in pull popup panel
* default enable `Fetch all branches`
2024-07-27 20:35:19 +08:00
leo
924a2ce935
Merge pull request #288 from RevenantX/fetch_all_on_pull_option
Add fetch all branches on pull option (acts like fetch+pull)
2024-07-27 19:58:03 +08:00
RevenantX
8a38b6afac Add fetch all branches on pull. (acts like fetch+pull) 2024-07-27 12:52:01 +03:00
leo
0b6cab41cf
enhance: refresh braches immediately after a branch has been added/deleted 2024-07-27 17:27:24 +08:00
leo
7bfb684bde
refactor: update submodule (#287) 2024-07-26 18:49:07 +08:00
leo
bab1a57480
refactor: using x:Int32 and x:String instead of custom types 2024-07-26 15:02:23 +08:00
leo
d3be3e938f
fix: wrong window margin and border if window is started as maximized 2024-07-26 12:01:09 +08:00
leo
85ce2f9cab
enhance: prevent property changed event if it is unchanged 2024-07-26 10:23:19 +08:00
leo
e9fa9a42ca
enhance: add Views.CommitRefsPresenter to draw commit's decorators (refs) directly 2024-07-25 15:31:16 +08:00
leo
31f918071f
refactor: repository configure
* move button to the left
* change view type from Popup to ChromelessWindow
2024-07-25 10:59:06 +08:00
leo
6f317039ab
feature: add CurrentBranch property to ViewModels.Repository 2024-07-24 15:36:26 +08:00
leo
f8caeceade
refactor: remove unnecessary memebers 2024-07-24 14:32:27 +08:00
leo
ad3eeabb83
feature: allow swap in branch compare 2024-07-24 12:17:44 +08:00
leo
3ef703c65d
code_style: run dotnet format 2024-07-24 11:45:16 +08:00
leo
9e048751ae
refactor: move non-observable object from ViewModels to Models
* ViewModels.MergeMode -> Models.MergeMode
* ViewModels.Notification -> Models.Notification
* ViewModels.ResetMode -> Models.ResetMode
* use `int` instead of `ViewModels.CountSelectedCommits`
2024-07-24 11:44:13 +08:00
leo
0dee3a1969
refactor: use Binding.TargetNullValue instead of empty class Models.CompareTargetWorktree 2024-07-24 11:16:28 +08:00
leo
6038fecab4
code_review: PR (#282)
* add translations for `Text.CommitCM.CopyInfo`
* unify length of commit's short SHA
2024-07-24 10:42:58 +08:00
RevenantX
300c1c99bf
Add copy info that copies "{Short SHA} - {commit subject}" into clipboard 2024-07-24 10:34:35 +08:00
leo
b160f4e47a
enhance: clear selection after swap compare targets 2024-07-23 19:30:16 +08:00
leo
1583b08892
code_review: PR (#280)
* tooltip for swap button
* move `Views.CompareTargetWorktree` to `Models.CompareTargetWorktree`
* remove unused `Models.IObjectId`
* fix swap not working when target is Worktree, because Commands.CompareRevisions's Args do not changed after swapping
2024-07-23 19:26:04 +08:00
Giuseppe Lippolis
5cc30f7d10 feat: Allow Swap Commits in Revision Compare 2024-07-23 11:41:33 +02:00
leo
fa9990c38c
code_style: move SourceGit.ViewModels.RepositorySettings to SourceGit.Models.RepositorySettings 2024-07-23 14:52:25 +08:00
leo
720b2b65f3
code_style: change static methods of ViewModels.Preference to member function 2024-07-22 15:34:31 +08:00
leo
9f09b8e326 enhance: allow # character in branch name (#271) 2024-07-21 17:44:38 +08:00
leo
91801cff69
enhance: only trigger UpdateSelectedChunk if needed 2024-07-19 11:01:31 +08:00