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
leo
f0649c95b5
feature: add an indicator that shows those commits the current branch ahead/behind its upstream
2024-07-19 09:29:16 +08:00
leo
9de2853003
enhance: unify selection mode and hunk mode
2024-07-18 16:26:39 +08:00
leo
dbc95e7209
refactor: move some method from view to its data source class
2024-07-18 11:40:56 +08:00
leo
d09866e2c3
enhance: commit search ( #268 )
...
* add `-i` parameter to ignore case while searching commit message
* add `--branches --remotes` to search commits from all branches
2024-07-17 20:54:09 +08:00
leo
b7e0e38de3
feature: stage/unstage hunk ( #265 )
2024-07-17 16:56:16 +08:00
leo
ef0c904e91
ux: improve change list selection
2024-07-16 17:00:08 +08:00
leo
2f5f98770f
enhance: expand tree for current branch ( #262 )
2024-07-16 15:02:47 +08:00
leo
1eb77a5e49
feature: add a toggle button to change the commit time display mode to time period it is passed from now ( #259 )
2024-07-16 12:16:08 +08:00
leo
684fedb9bd
ux: icons
2024-07-15 15:47:28 +08:00
leo
8e7bfc43e0
enhance: search commits by message ( #256 )
2024-07-15 10:17:26 +08:00
leo
3aad24a64e
enhance: secure exit
2024-07-15 09:54:46 +08:00
leo
f4eca45754
code_style: remove all IDE warnings
2024-07-15 00:30:31 +08:00
leo
a807aa9e12
code_style: remove all IDE warnings
2024-07-14 15:55:15 +08:00
leo
6a8527a394
refactor: commit search ( #256 )
2024-07-13 22:36:59 +08:00
leo
e5462f0086
code_style: run dotnet format
to apply code style rules
2024-07-10 12:12:14 +08:00
leo
738189393e
enhance: refresh working copy changes immediately after discard finished
2024-07-09 15:30:40 +08:00
leo
c16bed1d9f
enhance: run commit search in background
2024-07-09 15:15:31 +08:00
leo
6930b51c64
refactor: commandline parsing
...
* `--rebase-todo-editor` launches this app as a git `sequence.editor`
* `--rebase-message-editor` launches this app as a git `core.editor` which runs on background by reading rebasing jobs
* `--core-editor` launches this app as a git `core.editor`
* `--askpass` launches this app as a SSH askpass program
2024-07-09 12:20:52 +08:00
leo
cbe4c36525
feature: support git.core.askpass ( #239 )
2024-07-08 22:07:00 +08:00
leo
7ee3db500a
refactor: json serialization
...
* move all converters to `App.JsonCodeGen.cs`
* use `ColorConverter` instead of parsing colors manually
2024-07-08 16:45:51 +08:00
leo
16d9b627f0
refactor: rename Models.CustomColorSchema
to Models.ThemeOverrides
because it do NOT contains only colors currently.
2024-07-08 16:21:57 +08:00
leo
09b418374a
feature: add an option to enable -a,--all
in commit command ( #244 )
2024-07-07 10:28:14 +08:00
leo
36b8472d02
enhance: improve selection changed event handler performance
2024-07-06 17:29:24 +08:00
leo
3197b4bfe8
refactor: use custom BranchTree instead of TreeView to improve performance
2024-07-06 17:17:41 +08:00
leo
8faa8c7378
ux: more flex layout for left siderbar groups
2024-07-04 17:59:32 +08:00
leo
3ce580b682
fix: when the remote branch is deleted, deleting the local branch will throw NRE ( #238 )
2024-07-04 16:47:28 +08:00
leo
f4f4a26a64
enhance: remember last selected on common actions ( #231 )
...
* the way to deal with local changes on checkout branch page
* the way to deal with local changes and should checkout after created on new branch page
* should fetch without tags on fetch page
* the way to deal with local changes and should fetch without tags on pull page
* should push all tags on push
2024-07-03 14:42:21 +08:00
leo
80f72676ec
ux: new custom theme configuration format
...
* supports customize the commit graph
2024-07-02 22:54:26 +08:00
leo
50fe25a631
enhance: only load repository settings if file exists
2024-07-02 14:17:21 +08:00
leo
4ef0f1180f
feature: add tooltip for branches ( #228 )
2024-07-02 10:23:21 +08:00
leo
6dad466eef
feature: supports --no-tags
on fetch and pull operation ( #226 )
2024-07-01 16:19:29 +08:00
leo
de1a4d14e8
enhance: disable blame on submodules
2024-07-01 13:45:48 +08:00
leo
0da30b6b89
enhance: better LFS file detect method
2024-07-01 13:30:57 +08:00
leo
f08acebb5e
enhance: better implementation to diff submodule changes while repository is not opened
2024-07-01 13:13:18 +08:00
leo
7f389b2e6f
refactor: move settings of repository, such as filters, commit message, from Preference
to each repository's gitdir.
...
* avoid invalid repository setting remains in preference.json
* supports to restore tabs that not added to the Welcome page
2024-07-01 11:57:13 +08:00
leo
1241539260
refactor: custom renderer for launcher tab bar
2024-06-29 17:04:39 +08:00