Commit graph

312 commits

Author SHA1 Message Date
leo
f204a744bd
fix: crash when try to open context menu without selected changes in Changes page 2024-06-15 14:50:05 +08:00
leo
6de92bb4d8
refactor: git-flow supports. 2024-06-15 12:44:35 +08:00
leo
9d3f186b44
code_style: run dotnet format 2024-06-14 09:46:30 +08:00
leo
68061f82b1
refactor: rewrite TextDiffView 2024-06-12 21:12:45 +08:00
leo
eab680ae55
fix: reset current revision file content when selected commit changed 2024-06-12 12:13:45 +08:00
leo
2078886bc9
fix: close popup if current page is the last one 2024-06-12 12:08:19 +08:00
leo
b59c12e1f0
ux: re-design UI for checkout commit as deteched action 2024-06-12 11:42:22 +08:00
leo
662c9e1580
enhance: remember last WindowState of Launcher 2024-06-12 10:22:26 +08:00
leo
7c79340cc1
fix: view not update after Close Other Tabs clicked 2024-06-11 17:04:28 +08:00
leo
f977e76ea7
feature: remember window size and layout information (#165) 2024-06-11 16:36:52 +08:00
leo
7f2e22def6
feature: supports branch compare (#174) 2024-06-11 15:30:06 +08:00
leo
c3cbb6d895 fix: submodule diff missing commit message 2024-06-08 21:13:59 +08:00
leo
9e45a8a77d enhance: only store subject in commits.
It has several advantages:

* reduce the memory costed by histories
* higher performance while parsing commits
* no need to calculate subject every time, which is invoked most frequently to render histories
2024-06-08 12:19:48 +08:00
leo
6426da3289
enhance: supports search commits by changed file path like src/Commands/* or */Add.cs. 2024-06-07 18:43:37 +08:00
leo
bacc1c85ad
enhance: reduce memory usage by commit detail view 2024-06-07 17:29:55 +08:00
leo
78c7168a46
enhance: make commit's subject the same with pretty print parameter %s in git log command 2024-06-07 12:31:10 +08:00
leo
b4e01a8b93
refactor: commits only hold the end position of subject in body 2024-06-06 20:59:09 +08:00
leo
064d04fccc
enhance: improve QueryCommits performance 2024-06-06 20:25:16 +08:00
leo
1a18235a76
fix: tab splitter visible issue 2024-06-06 18:25:28 +08:00
leo
5514c56a29
refactor: more efficient way to update the visibility of tab splitters 2024-06-06 18:09:35 +08:00
leo
4610f702b3
code_style: run dotnet format 2024-06-06 15:31:02 +08:00
leo
8b1f28ac95
enhance: show file size change in image diff 2024-06-06 10:36:17 +08:00
leo
7b71f8512d
ux: re-arrange options in apperance page 2024-06-05 18:32:55 +08:00
leo
7d49d2b913
Merge pull request #167 from gadfly3173/fix/add-remote-ssh
fix: remove null-check of sshKey in AddRemote and change command execution order
2024-06-05 18:25:57 +08:00
leo
62e5ed8a42
enhance: supports user overrides the default color schema 2024-06-05 18:23:28 +08:00
Gadfly
1adf18c724
fix: remove null-check of sshKey in AddRemote and change command execution order 2024-06-05 17:45:10 +08:00
leo
78000b6d1a
fix: show a empty commit with sha in submodule diff view if commit has been dropped 2024-06-05 13:54:52 +08:00
leo
57540b960a
code_style: remove unused using 2024-06-04 21:05:23 +08:00
leo
802b429cc8 enhance: supports word wrap in text diff view 2024-06-04 20:26:47 +08:00
leo
d0edc09b2e refactor: add a popup panel to show submodule updating status 2024-06-04 11:36:00 +08:00
leo
4b0af79f73 enhance: GPG signing settings.
* remove gpg format settings from repository's local setting
* add support for X.509 format
* ux style
2024-06-04 10:20:31 +08:00
leo
6a98af17e4 ux: add missing progress description 2024-06-03 10:18:35 +08:00
leo
49ce07443e fix: application data dir may not have been created before crash (#161) 2024-06-03 09:44:12 +08:00
leo
9d9dd6acb5 code_review: PR #160
* should be `Icons.Copy` not `Icon.Copy`
* remove unused using
* keep the same code style in a function
2024-06-01 12:34:16 +08:00
Giuseppe Lippolis
33c9771f58 feat: Allow Copy only file name with extension 2024-05-31 16:37:36 +02:00
Gadfly
80dfa059ce
feat: add gpg format switcher 2024-05-31 00:25:30 +08:00
leo
73cfeca8a9 fix: memory leak caused by animation 2024-05-30 17:30:54 +08:00
leo
fa3a3b2dad refactor: code cleanup 2024-05-30 15:13:59 +08:00
leo
55c9fae110 feature: new way to expand/collapse folder node in TreeDataGrid 2024-05-30 09:53:07 +08:00
leo
f4d379e3b8
Merge pull request #153 from Hammerliu/fix_crash
Fix the crash caused by pushing without a branch
2024-05-29 22:05:37 +08:00
leo
ea1bfad84d revert: disable double-click folding/unfolding because it will cause IndexOutOfRange exception 2024-05-29 21:56:03 +08:00
DESKTOP-L3MJ80L\hamme
7ec21e2e53 Fix the crash caused by pushing without a branch 2024-05-29 21:31:46 +08:00
leo
9d13b17aaf feature: double-click on single-selecte change tree or file tree will expand/collapse folder node 2024-05-29 20:48:51 +08:00
leo
f8b327746c Merge branch 'develop' into feature/treedatagrid 2024-05-29 16:45:51 +08:00
leo
0b09d210be feature: allow to ignore local changes also when switching branch or pulling changes (#151) 2024-05-29 16:42:47 +08:00
leo
179887339e Merge branch 'develop' into feature/treedatagrid
# Conflicts:
#	src/Views/CommitDetail.axaml
2024-05-29 13:09:25 +08:00
leo
69f9dceece feature: new way to display changes of submodules 2024-05-29 12:50:26 +08:00
leo
b192a1c423 refactor: use TreeDataGrid instead of TreeView/DataGrid to improve performance (#148) 2024-05-29 10:42:24 +08:00
leo
52ef0db427 feature: add a context menu item to compare selected branch/revision with current worktree 2024-05-27 21:05:15 +08:00
leo
4249653ed6 feature: add context menu for both branch and commit to compare selected with current HEAD 2024-05-27 17:21:28 +08:00
leo
1040bbe4d2 feature: add buttons to increase/decrease visible lines in text diff view (#145) 2024-05-27 10:29:15 +08:00
leo
8d27690473 code_style: keep ux/code in a uniform style 2024-05-26 14:35:57 +08:00
leo
66f2aab6a7 code_review: review for PR (#147)
* code style
* localizations for zh_CN
2024-05-26 14:25:21 +08:00
Filipe Ramalho
db9ca5ba25
Merge branch 'develop' into feature/allowing_to_checkout_commit 2024-05-25 15:43:27 -03:00
Filipe Ramalho
8aa1690cde Adding checkout commit menu and dialog 2024-05-25 15:11:24 -03:00
Filipe Ramalho
b0c00340a8 Making local detached branch HEAD as the first item below folders 2024-05-25 15:09:40 -03:00
leo
a52124c479 feature: add Do Nothing option to deal with local changes before creating a new branch (#143) 2024-05-25 19:40:30 +08:00
leo
754a2527f5 feature: allow changing of tracking branch on push (#142) 2024-05-25 11:37:06 +08:00
leo
8e3a8f4c06 optimize: new way to update corner radius of branch tree node to improve performance (#137) 2024-05-25 11:15:07 +08:00
leo
6fe96d629a feature: allow deleting multiple branches at one time (#137) 2024-05-25 01:31:59 +08:00
leo
c10778c413 enhance: add an option to push tag to all remotes after created (#141) 2024-05-24 10:47:37 +08:00
leo
b556feb3d3 enhance: tag creation & pushing (#141)
* supports creating lightweight tags
* supports GPG signed tags
* add option to push selected tag to all remotes
2024-05-24 10:31:20 +08:00
leo
0aea822499 enhance: remote ssh private key validation 2024-05-21 11:52:30 +08:00
leo
8fea9fecfb refactor: implementation to delete branches 2024-05-21 09:58:31 +08:00
leo
faf2c39056 refactor: rewrite Preference.FindOrAddNodeByRepositoryPath
* prevent moving node while opening repository directly from commandline
* supports to set parent node while dropping folder to initialize repository
2024-05-20 17:39:31 +08:00
leo
8d726656dc feature: supports to open repository directly from commandline on Linux 2024-05-20 15:15:08 +08:00
leo
8d6481c694 feature: supports to open a repository directly from commandline (#134) 2024-05-20 14:39:05 +08:00
Gadfly
6e35ee64da fix: remove SearchResultSelectedCommit from preference.json 2024-05-15 16:20:31 +08:00
leo
c48d69362e enhance: performance of filtering branch 2024-05-14 18:50:36 +08:00
leo
02e71d4d75 feature: supports filter displayed branches 2024-05-14 11:47:56 +08:00
Gadfly
7520a2a7b6 feat: Add config of auto fetch interval 2024-05-11 17:37:54 +08:00
leo
764cf24284 code_review: PR #120
* remove unnecessary code. The `SetProperty` function takes care of set same property in a loop
2024-05-10 16:30:34 +08:00
leo
efd8e72c4e
Merge pull request #120 from gadfly3173/fix/handle-select-changed
fix: update search filter selected commit after Histories selected commit changed
2024-05-10 16:24:25 +08:00
Gadfly
592d087e05 fix: update search filter selected commit after Histories selected commit changed 2024-05-10 16:04:03 +08:00
leo
37f5472186 ux: do not show /dev/null in DiffView for new file 2024-05-10 16:01:20 +08:00
leo
cebe07695a fix: issue cause by commit eeb6abb560 2024-05-07 15:52:04 +08:00
leo
eeb6abb560 fix: avoid duplicated nodes being added into the repository tree 2024-05-07 15:50:26 +08:00
leo
207e82b391 enhance: keep repository tree sorted by name 2024-05-07 15:28:54 +08:00
leo
15456f0dee code_style: use ?: operator instead of if...else 2024-05-07 14:28:34 +08:00
leo
4af8cc18d2 fix: welcome page should use a shared singleton instance to manage and filter repositories (#117) 2024-05-07 14:12:52 +08:00
leo
37b5f5c083 feature: enhance the behaviour of closing the last tab
* If the last tab is an opened repository, go back to the welcome page
* If the last tab is welcome page, quit this app
2024-05-07 10:44:46 +08:00
leo
b651835de0 enhance: hotkeys
* add `Shift+Ctrl+Tab` (`⌘+⌥+←` on macOS) to go to previous page
* use `ESC` to cancel commit searching
* enable `AutoFocusBehaviour` on `CommitChanges` and `RevisionFiles` tab
2024-05-06 10:22:13 +08:00
leo
d87716dc86 fix: disable removing repository at startup (#90) 2024-05-06 07:09:27 +08:00
leo
d46979a0c5 feature: add a checkbox to also delete the tracking remote branch (#99) 2024-05-05 19:45:28 +08:00
Gadfly
2e60c98eee
fix: keep selected commit after _commits var reassigned 2024-05-03 21:04:43 +08:00
leo
a5150edee0 code_style: rename platform_finder to platformFinder and run dotnet format to apply code style rules 2024-04-29 17:55:38 +08:00
leo
776605cb68 code_review: PR #98
* remove the `Leave` option (it may lead to an undefined behaviour), so user can only choose `Stash & reapply` or `Discard`.
* re-design the UI
* remove unused resources
2024-04-29 17:22:22 +08:00
Alexander Bogomolets
927a1cab24 Add checkout local changes handling
This commit adds the local changes handling behavior for branch checkout.
One of three can be selected: stash and reapply after checkout, discard changes or leave them as is (previous behaviour)
2024-04-29 16:40:20 +08:00
leo
84568e573a feature: test if conflicts have been resolved manually (#96) 2024-04-29 10:54:41 +08:00
leo
df66bacbd2 enhance: reset commit message after a merge request has been aborted 2024-04-29 09:31:04 +08:00
leo
32e685622b enhance: disable some MenuItems if repository that linked by node has been auto-removed from Preference (#90). 2024-04-28 13:51:44 +08:00
leo
9b5e8429b9 feature: add hotkey 'F5' to reload/refresh whole repository 2024-04-28 10:19:12 +08:00
leo
86c89e0c33 feature: use MERGE_MSG as default commit message while merging (#88) 2024-04-26 21:05:00 +08:00
leo
ea1d0bf6a2 fix: bug - rename local branch name should only check names with other local branches 2024-04-26 14:25:14 +08:00
leo
003ad66ccb ux: add menu icon for git-flow 2024-04-15 15:07:07 +08:00
leo
ab26bb83e9 refactor: re-design toolbar of Views.DiffView 2024-04-14 12:27:09 +08:00
leo
7b5534a267 code_style: run dotnet format to apply rules defined in .editorconfig 2024-04-13 19:24:45 +08:00
Gadfly
54c9552985
refactor: remove duplicate ObjectConverters, remove unused using 2024-04-13 18:54:46 +08:00
Gadfly
f4e1e0fb6b
fix: use TextTrimming alternative PathConverters 2024-04-13 02:05:26 +08:00
Gadfly
a249eed1ac
feat: show git file mode change if exist 2024-04-12 21:38:36 +08:00
leo
f3f39ac593 feature: supports resolving multiple conflicts at once. 2024-04-11 20:50:19 +08:00
leo
b8da3e9afd enhance: use diff command instead of show command to get changes of selected commit. (#56)
* for merge commit, it will shows all changes compare to the first parent of the selected commit now.
2024-04-09 16:02:42 +08:00
leo
17fc7ab994 ux: add icons for external merge tools 2024-04-09 15:00:52 +08:00
leo
4882fd9d69 refactor: external tools and shells
* rename Models.ExternalMergeTools to Models.ExternalMerger
* supports Git Bash/PowerShell/Command Prompt/Default Shell in Windows Terminal
2024-04-09 10:41:37 +08:00
leo
4ac705f8ca feature: add powershell support for Windows 2024-04-08 17:39:52 +08:00
leo
8adf11b64c fix: crash when create image from a empty stream 2024-04-08 10:24:28 +08:00
leo
8dd1ce9185 refactor: rewrite Commands.QueryFileContent and use it instead of GetImageFileAsBitmap 2024-04-08 09:57:41 +08:00
leo
9a4f928ece fix: DataGrid does NOT scroll when navigation target is the same as current selected in Views.Histories. (#58) 2024-04-07 21:19:02 +08:00
leo
d09e81b80a fix: remove unused using 2024-04-07 20:06:04 +08:00
leo
24b6e39066 feature: add context menu for changes in Views.CommitDetail and Views.RevisionCompare to diff with external merge tool (#53) 2024-04-07 20:02:43 +08:00
leo
e5be649a2d fix: Github REST API access rate limit (#60) 2024-04-07 09:54:35 +08:00
leo
d873f21b6a fix: crash when open external tool drop down menu 2024-04-06 15:01:07 +08:00
leo
111bf2966a refactor: rewrite external editor supports
* supported editors can be different on different platforms.
* display founded editors only
2024-04-06 13:14:22 +08:00
leo
d986aa7165 feature: add button to navigate to current HEAD (#50) 2024-04-02 20:54:57 +08:00
leo
96d4150d26 project: reorganize the structure of the project.
* remove dotnet-tool.json because the project does not rely on any dotnet tools.
* remove Directory.Build.props because the solution has only one project.
* move src/SourceGit to src. It's not needed to put all sources into a subfolder of src since there's only one project.
2024-04-02 20:00:33 +08:00
Enner Pérez
a1a14f8858 Project Location 2024-03-20 02:38:28 -05:00
leo
f175f5abc1 optimize: use combined diff view as default. 2024-03-20 13:08:01 +08:00
leo
18aaa0a143 style: add .editorconfig for code formatting. see issu #25 2024-03-18 09:37:06 +08:00
Enner Pérez
c0a079de41 Source Generated Regex 2024-03-16 04:09:27 -05:00
leo
f93dec5e6a style: Blame & FileHistories window style 2024-03-15 10:41:36 +08:00
leo
f4b396596b feature: shows selected revision file size if it's a binary file 2024-03-14 11:59:56 +08:00
leo
f6eb1281b5 enhance: force using StringComparison.Ordinal 2024-03-14 11:09:05 +08:00
leo
a37c11e32f enhance: better sync scroll logic with two-side diff - if the width in each side is different 2024-03-12 16:14:22 +08:00
leo
2ec46c9da0 feature: prefer same name if new branch is created based on a remote branch 2024-03-08 18:01:29 +08:00
leo
8d533e5270 style: UseRebase and AutoStash perfered selected by default 2024-03-08 17:49:03 +08:00
leo
267c955c88 style: views supports Linux 2024-03-08 11:28:17 +08:00
leo
a89760c7a5 refactor: change the way to refresh repository's data.
* mark dirty instead of calling refresh method directly
* force mark branches data dirty after remotes changed
2024-03-08 09:57:29 +08:00
leo
3eb8a82005 feature: use branch's fullname to create new branch based on selected one 2024-03-08 09:29:54 +08:00
leo
d0e80be79f feature: enhance commit search
* Supports search commits by author/committer email
* Auto focus when search panel is visible
2024-03-07 16:29:24 +08:00
leo
3bf962d745 feature: remember last active tab index if restore tabs is enabled 2024-03-06 19:46:19 +08:00
leo
f00ecbd0a1 fix: should not use Active to close a running popup. 2024-03-05 17:16:33 +08:00
leo
60e664ab26 optimize<*>: use custom view locator instead of ContentControl.DataTemplates to avoid memory leak. 2024-03-02 23:34:32 +08:00
leo
27d4dd5f64 style<*>: remove unused usings 2024-03-02 22:06:47 +08:00
leo
307e5a5ef0 fix<Repository, History>: wrong context menu IsEnabled state.
* 'Pull' should always enabled for local branch with remote upstream
* 'Discard All Changes' for current branch should only be enabled when there's at least one changes
* 'Fast Forward' should check if target local branch has any commit ahead of it's upstream
2024-03-01 19:12:22 +08:00
leo
7b70951c93 style<Launcher>: supports two size rules for tabs in titlebar - fixed width or size to content 2024-03-01 14:09:39 +08:00
leo
e3a7abe776 style<Repository>: normalize repository's path 2024-03-01 13:46:00 +08:00
leo
1c005983c7 fix<Discard>: wrong discard behavior with changes both in worktree and staged 2024-03-01 11:34:32 +08:00
leo
2b97d7c599 feature<TextDiffView>: do NOT reset scroll offset after recompute diff with same change 2024-02-29 11:29:54 +08:00
leo
096fd6cb22 feature<TextDiffView>: supports discard changes from staged directly 2024-02-29 10:59:59 +08:00
leo
1149c768d3 refactor<NameHighlightedTextBlock>: use NameHighlightedTextBlock's constructor instead of functions in each caller 2024-02-28 18:55:23 +08:00
leo
671e46f8b3 feature<TextDiffView>: supports line staging/unstaging in working copy diff view 2024-02-28 14:55:11 +08:00
leo
2aacec75b4 optimize<*>: add a static method CreateMenuIcon to App. Restore working copy changes' selection state after refreshed 2024-02-27 18:26:05 +08:00
leo
9c3294c285 optimize<*>: App.RaiseException should be called in UIThread; add default progress description for popups; 2024-02-26 11:29:57 +08:00
leo
f4c82ff749 fix<Fetch>: start fetch from remote's context menu should only fetch selected remote 2024-02-26 09:38:25 +08:00
leo
68ddeb4cc5 refactor<Statistics>: use committer instead of author 2024-02-25 11:32:15 +08:00
leo
e070b79d2c feature<Statistics>: finish statistiscs 2024-02-23 19:16:28 +08:00
leo
49f6ad0407 feature<Avatar>: supports gravatar.com and cravatar.cn (for China) 2024-02-23 11:39:05 +08:00
leo
79084c9a9a fix<Clone>: fix crash after clone a new repository 2024-02-22 11:05:20 +08:00
leo
faffba09c8 fix<Submodules>: compatible with un-inited submodule 2024-02-21 12:26:09 +08:00
leo
353557ec10 fix<Native>: fix wrong file filter on macOS platform. 2024-02-21 11:29:46 +08:00
leo
dbd91c9b58 style<Repository>: arrange buttons in Repository's tool bar 2024-02-21 10:14:42 +08:00
leo
57c4a8394c optimize<*>: reduce memory usage 2024-02-20 18:27:59 +08:00
leo
49154afe48 feature<Launcher>: finish restore opened tabs 2024-02-19 19:54:53 +08:00
leo
df16622335 fix<ExternalMergeTool>: ignore type change on serialization 2024-02-19 16:25:50 +08:00
leo
e7219b4278 feature<ExternalMergeTool>: use default path if file exists after tool changed 2024-02-19 16:19:12 +08:00
leo
09b96b148c optimize<WorkingCopy>: reset detail before commit 2024-02-19 10:33:28 +08:00
leo
5ac7d78796 style<Welcome>: use monospace font for repository tree 2024-02-18 16:32:30 +08:00
leo
05c9d9be5b feature<AutoFetch>: finish auto fetch remotes 2024-02-18 16:26:07 +08:00
leo
b40ca42d73 feature<WorkingCopy>: finish recent commit message picker 2024-02-18 15:44:05 +08:00
leo
e310cfd84f feature<ContextMenu>: highlight branch/commit/tag name in ContextMenuItem 2024-02-06 19:07:17 +08:00
leo
98e65c0f11 fix<Repository>: filter not working 2024-02-06 17:52:16 +08:00
leo
2a62596999 refactor<*>: rewrite all with AvaloniaUI 2024-02-06 15:08:37 +08:00