Commit graph

298 commits

Author SHA1 Message Date
Jean Franz
177450fffd
feat: Add portuguese (pt_BR) locale 2024-07-31 10:08:59 -03: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
3c5a661fa0
feature: supports type change 2024-07-30 21:32:23 +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
RevenantX
8a38b6afac Add fetch all branches on pull. (acts like fetch+pull) 2024-07-27 12:52:01 +03: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
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
183cb8a658
enhance: supports checking updates with hotfix version 2024-07-23 14:36:27 +08:00
leo
d4b262248a
fix: IntelliJ IDEA Ultimate and IntelliJ IDEA Community fallbacks to JetBrains common icon (#279) 2024-07-23 12:07:39 +08:00
leo
9a15ff59d4
enhance: remove code not needed to improve performance 2024-07-19 09:47:59 +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
14469b1399
theme: add ThemeOverrides.OpacityForNotMergedCommits to customize the opacity of commits that not belongs (haven't been merged) to current branch in histories (#268) 2024-07-18 10:46:39 +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
f9c8e4c699
code_style: remove unused code 2024-07-16 12:19:58 +08:00
leo
f15dd52fdd
code_style: use ?: instead of if...else branches 2024-07-15 17:20:55 +08:00
leo
dc407b6033
feature: add tooltip for commit time that shows how much time it is from now (#259)
* this tooltip does NOT update until it's owner row recreated or the DataContext of that row changed. You can scroll it out of bounds to force refresh the tooltip
2024-07-15 16:58:45 +08:00
leo
f4eca45754
code_style: remove all IDE warnings 2024-07-15 00:30:31 +08:00
leo
1c204e72a1
refactor: remove dependency on Avalonia.Controls.TreeDataGrid 2024-07-12 17:14:52 +08:00
leo
67d0167278
fix: commits not marked as merged (#253) 2024-07-11 10:55:48 +08:00
leo
e5462f0086
code_style: run dotnet format to apply code style rules 2024-07-10 12:12:14 +08:00
leo
d3f7c31caf
fix: crash when clipboard is empty 2024-07-09 15:02:34 +08:00
leo
22d5927aa5
ux: default commit graph thickness 2024-07-09 13:04:39 +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
8fa19ecd0c
enhance: better commit graph 2024-07-08 18:10:26 +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
ghiboz
c0348b73bd set pen thickness
"General": {
    "Pen.Thickness": "4.4"
  }
2024-07-05 14:02:30 +02:00
leo
80f72676ec
ux: new custom theme configuration format
* supports customize the commit graph
2024-07-02 22:54:26 +08:00
leo
57a2144777
fix: try to fix the timezone issue (#229) 2024-07-02 12:30:12 +08:00
leo
4ef0f1180f
feature: add tooltip for branches (#228) 2024-07-02 10:23:21 +08:00
leo
fca20965f8
feature: add two color keys Color.DecoratorBranch and Color.DecoratorTag (#225) 2024-07-01 16:32:17 +08:00
leo
8a8aabede3
feature: add worktree support (#205) 2024-06-27 18:25:16 +08:00
leo
e330862ec9
refactor: rewrite Launcher
* move main tabbar to a standalone control
* simpfy notification
2024-06-26 20:56:29 +08:00
leo
885dccb52b
ux: multiple layout style changes 2024-06-24 19:52:00 +08:00
leo
dca8f8b39b
feature: warn when commit subject line goes beyond a certain number of characters (#201) 2024-06-23 15:45:54 +08:00
leo
d3d6889e25
feature: supports P4Merge as external merge/diff tool (#181) 2024-06-21 10:29:01 +08:00
leo
376f775078
fix: remove code for debug 2024-06-20 17:11:23 +08:00
leo
7070a07e15
feature: simple interactive rebase support (#188)
* Only allow to start interactive rebase from merged commit in current branch
* The order of commits in the interactive rebase window is as same as it's in histories page.
* Unlike anthor git frontend app `Fork`, you should edit the final message on the last commit rather than the  previous commit that will be meld into while squashing commits
2024-06-20 17:02:12 +08:00
leo
a717e48a29
enhance: change the default action to deal with local changes on pull/checkout/create new branch to Do Nothing (#185) 2024-06-19 15:29:40 +08:00
leo
a168b05ac6
ux: re-design submodule preview in revision files 2024-06-19 14:24:49 +08:00
leo
4ce3d73d61
fix: remote url not supports charator ~ (#186) 2024-06-19 10:38:30 +08:00
leo
c56d0cf85e
refactor: external diff merge tool - supports to use difftool/mergetool settings from git config directly (#181) 2024-06-18 12:10:38 +08:00
leo
ad2fc68c6b
feature: supports visit remote url in browser 2024-06-17 20:31:54 +08:00
leo
9a0b10bd9c
enhance: Git LFS support 2024-06-17 18:25:57 +08:00
leo
6de92bb4d8
refactor: git-flow supports. 2024-06-15 12:44:35 +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
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
4610f702b3
code_style: run dotnet format 2024-06-06 15:31:02 +08:00
leo
7201f71e4b
feature: add Traditional Chinese option (#172) 2024-06-06 11:15:22 +08:00
leo
8b1f28ac95
enhance: show file size change in image diff 2024-06-06 10:36:17 +08:00
leo
54ef9c0bf7
refactor: use bindings instead of sync manually 2024-06-06 10:01:14 +08:00
leo
0c618998b2
refactor: sync scroll implement 2024-06-05 20:33:33 +08:00
leo
ce35a0365d
fix: sync scroll not working 2024-06-05 19:56:45 +08:00
leo
1870dcd468
fix: select item in tree not work 2024-06-05 13:21:01 +08:00
leo
ce9a3dad2f
enhance: improve commit and stash parsing time 2024-06-05 11:46:31 +08:00
leo
802b429cc8 enhance: supports word wrap in text diff view 2024-06-04 20:26:47 +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
49ce07443e fix: application data dir may not have been created before crash (#161) 2024-06-03 09:44:12 +08:00
Gadfly
80dfa059ce
feat: add gpg format switcher 2024-05-31 00:25:30 +08:00
leo
55c9fae110 feature: new way to expand/collapse folder node in TreeDataGrid 2024-05-30 09:53:07 +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
1161738df9 enhance: a more adaptable regular expression for remote URLs (#149) 2024-05-29 11:20:15 +08:00
leo
b192a1c423 refactor: use TreeDataGrid instead of TreeView/DataGrid to improve performance (#148) 2024-05-29 10:42:24 +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
b0c00340a8 Making local detached branch HEAD as the first item below folders 2024-05-25 15:09:40 -03:00
Filipe Ramalho
4750ad0d07 Adding HEAD decorator markup in the Graph 2024-05-25 15:05:32 -03:00
leo
717e6b4faf enhance: a more adaptable regular expression for remote URLs (#136) 2024-05-21 14:35:14 +08:00
leo
a976f007f5 refactor: load external tool's icon on startup 2024-05-17 12:01:29 +08:00
Gadfly
46b9d1b09d refactor: Simplify FindOrAdd method by using ConcurrentDictionary's GetOrAdd 2024-05-16 16:33:34 +08:00
leo
02e71d4d75 feature: supports filter displayed branches 2024-05-14 11:47:56 +08:00
Gadfly
3b166a5c22 fix: avoid potential IndexOutOfRangeException in Models.User 2024-05-11 17:00:35 +08:00
方祝立
0e0d3d64b4 fix: Fixed the problem that the switching branch of the worktree repo is not displayed 2024-05-07 10:29:24 +08:00
leo
c9ce41aef3 feature: supports open in/diff with VSCodium (#102) 2024-05-03 21:54:10 +08:00
leo
1fe050ed0b enhance: if current repository is a worktree of another repository, watch the gitdir to it's main repository's gitdir (#86) 2024-05-03 20:47:59 +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
d9911b3447 refactor: implementation of synchronous scrolling in side-by-side diff view 2024-04-28 16:46:39 +08:00
leo
8786297d85 ux: remove 'JetBrains' prefix for all products of JetBrains 2024-04-27 22:35:27 +08:00
leo
71b9b3dfea enhance: cache for external tool icons 2024-04-27 22:26:38 +08:00
leo
fdf95e39a7 fix: loading JetBrains Toolbox stage.json crash 2024-04-27 22:05:17 +08:00
leo
9a68418f51 Merge pull request #92 from ennerperez/feature/issues-77
code_review:

* use JsonSerializerContext to avoid AOT warnnings
* since we call TryAdd by interating the installed tools, so detecting by environment variable becomes meaningless (it can not detect tools not installed by Toolbox). Just add it into founded directly
* remove unnecessary type defines
* determine the Icon used by tool while adding it to the founded list.

# Conflicts:
#	src/Native/Linux.cs
#	src/Native/MacOS.cs
#	src/Native/Windows.cs
2024-04-27 21:13:21 +08:00
Enner Pérez
53beb3daac JetBrains Toolbox IDE detection 2024-04-27 02:12:03 -05:00
Enner Pérez
ad570eec3b Fallback Icon Implementation 2024-04-27 02:11:38 -05:00
leo
fd2160e56e feature: supports JetBrains Rider (#77) 2024-04-23 16:53:33 +08:00
leo
ab26bb83e9 refactor: re-design toolbar of Views.DiffView 2024-04-14 12:27:09 +08:00
Gadfly
a249eed1ac
feat: show git file mode change if exist 2024-04-12 21:38:36 +08:00
leo
217800c83a feature: support Meld as an external merge tool on Linux platform 2024-04-09 15:36:11 +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
b5b1f0cb8d refactor: add ExternalEditorFinder to detect supported external editors 2024-04-07 17:56:53 +08:00
leo
400d454478 enhance: a more adaptable regular expression for remote URLs (#61) 2024-04-06 18:11:49 +08:00
leo
1196fabfc1 feature: external editor supports Sublime Text 2024-04-06 15:31:13 +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
0252887442 feature: external editor supports visual studio code insiders; add environment variable VSCODE_PATH and FLEET_PATH to help to find these editors. (#54) (#55) 2024-04-03 12:17:20 +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
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
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
213f04a57b fix: branch tree not restore last IsExpanded nodes. See issue #20
* Binding IsExpanded property of TreeViewItem with Models.BranchTreeNode
* Current local branch should never be collapsed
2024-03-09 20:58:44 +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
9e4d349b51 feature<TextDiffView>: implementation for stage/unstage/discard selected changes in file 2024-02-28 18:15:40 +08:00
leo
671e46f8b3 feature<TextDiffView>: supports line staging/unstaging in working copy diff view 2024-02-28 14:55:11 +08:00
leo
787fe4ad70 fix<Statistics>: month to index; fix using UTC time compare to local time 2024-02-26 09:29:22 +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
cf09ab463c feature<Linux>: try to support Linux 2024-02-22 12:26:09 +08:00
leo
1a27b1dfb1 feature<ExternalMergeTools>: add supported external merge tool for macOS 2024-02-19 16:05:00 +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
leo
4e40018a78 feature<Repository>: supports modify display name of repository 2024-01-17 11:02:08 +08:00
leo
0966baa1d8 rename<CrashInfo>: rename Models.Issue to Models.CrashInfo 2023-10-13 11:21:45 +08:00
leo
838e688a0c refactor<Exception>: add context to exception to filter exceptions; each page has it's own error display control 2023-10-13 11:16:03 +08:00
leo
918eb48663 optimize<*>: reduce repository loading time 2023-10-12 12:02:41 +08:00
leo
e17fbab4cf style<FileHistories>: new style for FileHistories 2023-10-11 11:14:26 +08:00
leo
217a382849 optimize<Sort>: remove sort repositories by name desc 2023-10-10 17:35:54 +08:00
leo
766f24f4b0 optimize<User>: reduce memory used by commit's author/committer data 2023-10-10 11:25:57 +08:00
leo
afe0220a46 fix<Bookmark>: bookmark changes will not be saved when there's no welcome page 2023-08-28 10:59:46 +08:00
leo
63a6ef256e feature<Preference>: supports for customizing max number of displayed history commits 2023-08-23 11:39:47 +08:00
leo
4d7b16dc75 fix<Repository>: fix filter not work when there's no files under .git/refs/xxx/ 2023-08-21 20:04:25 +08:00
leo
5d3088d520 feature<Welcome>: supports set bookmark of selected repository from context menu. 2023-08-21 17:49:49 +08:00
leo
476c23f9d2 style<*>: new dark theme 2022-10-26 10:02:22 +08:00
leo
e31a304cac feature<Welcome>: supports to sort repositories by bookmark color 2022-10-18 15:55:39 +08:00
leo
b76bc96ee7 optimize<Upgrade>: remove auto-upgrade feature 2022-10-18 15:30:24 +08:00
leo
d827c1fbe1 optimize<Preference>: remove avater server 2022-10-18 15:25:27 +08:00
leo
918263130c feature<Welcome>: add sort supports 2022-10-17 10:12:59 +08:00
leo
b43044a7bf style<Welcome,PageTabBar>: re-design the style for Welcome page 2022-10-14 20:38:53 +08:00
leo
814637946d fix<Histroies>: remove invalid filters to fix issue #I5RZC9 2022-09-20 16:55:24 +08:00
leo
a19f81a708 optimize<Dashboard>: ISSUE #3 Rebase merge request detected but there is no rebase in progress. 2022-07-07 09:25:41 +08:00