Skip to content

Commit 4f3e639

Browse files
committed
Merge branch 'release/v2025.02'
2 parents 0aa2aaa + 001e813 commit 4f3e639

File tree

110 files changed

+2414
-1691
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+2414
-1691
lines changed

.github/workflows/publish-packages.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,6 @@ jobs:
2424
uses: ./.github/workflows/package.yml
2525
with:
2626
version: ${{ needs.version.outputs.version }}
27-
publish-packages:
28-
needs: [package, version]
29-
name: Publish Packages
30-
uses: ./.github/workflows/publish-packages.yml
31-
secrets:
32-
BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }}
3327
release:
3428
needs: [package, version]
3529
name: Release
@@ -44,7 +38,7 @@ jobs:
4438
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4539
TAG: ${{ github.ref_name }}
4640
VERSION: ${{ needs.version.outputs.version }}
47-
run: gh release create "$TAG" -t "Release $VERSION" --notes-from-tag
41+
run: gh release create "$TAG" -t "$VERSION" --notes-from-tag
4842
- name: Download artifacts
4943
uses: actions/download-artifact@v4
5044
with:

README.md

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
4848
## Translation Status
4949

50-
[![en_US](https://img.shields.io/badge/en__US-100%25-brightgreen)](TRANSLATION.md) [![de__DE](https://img.shields.io/badge/de__DE-99.86%25-yellow)](TRANSLATION.md) [![es__ES](https://img.shields.io/badge/es__ES-99.86%25-yellow)](TRANSLATION.md) [![fr__FR](https://img.shields.io/badge/fr__FR-94.87%25-yellow)](TRANSLATION.md) [![it__IT](https://img.shields.io/badge/it__IT-95.42%25-yellow)](TRANSLATION.md) [![pt__BR](https://img.shields.io/badge/pt__BR-96.67%25-yellow)](TRANSLATION.md) [![ru__RU](https://img.shields.io/badge/ru__RU-100.00%25-brightgreen)](TRANSLATION.md) [![zh__CN](https://img.shields.io/badge/zh__CN-100.00%25-brightgreen)](TRANSLATION.md) [![zh__TW](https://img.shields.io/badge/zh__TW-100.00%25-brightgreen)](TRANSLATION.md)
50+
[![en_US](https://img.shields.io/badge/en__US-100%25-brightgreen)](TRANSLATION.md) [![de__DE](https://img.shields.io/badge/de__DE-97.55%25-yellow)](TRANSLATION.md) [![es__ES](https://img.shields.io/badge/es__ES-100.00%25-brightgreen)](TRANSLATION.md) [![fr__FR](https://img.shields.io/badge/fr__FR-94.69%25-yellow)](TRANSLATION.md) [![it__IT](https://img.shields.io/badge/it__IT-93.33%25-yellow)](TRANSLATION.md) [![pt__BR](https://img.shields.io/badge/pt__BR-94.42%25-yellow)](TRANSLATION.md) [![ru__RU](https://img.shields.io/badge/ru__RU-100.00%25-brightgreen)](TRANSLATION.md) [![zh__CN](https://img.shields.io/badge/zh__CN-100.00%25-brightgreen)](TRANSLATION.md) [![zh__TW](https://img.shields.io/badge/zh__TW-100.00%25-brightgreen)](TRANSLATION.md)
5151

5252
> [!NOTE]
5353
> You can find the missing keys in [TRANSLATION.md](TRANSLATION.md)
@@ -102,37 +102,33 @@ For **macOS** users:
102102

103103
For **Linux** users:
104104

105-
* For Debian/Ubuntu based distributions, you can add the `sourcegit` repository by following:
106-
You may need to install curl and/or gpg first, if you're on a very minimal host:
107-
```shell
108-
apt update && apt install curl gpg -y
109-
```
110-
Install the registry signing key:
111-
```shell
112-
curl -fsSL "https://packages.buildkite.com/sourcegit/sourcegit-deb/gpgkey" | gpg --dearmor -o /etc/apt/keyrings/sourcegit_sourcegit-deb-archive-keyring.gpg
113-
```
114-
Configure the source:
115-
```shell
116-
echo -e "deb [signed-by=/etc/apt/keyrings/sourcegit_sourcegit-deb-archive-keyring.gpg] https://packages.buildkite.com/sourcegit/sourcegit-deb/any/ any main\ndeb-src [signed-by=/etc/apt/keyrings/sourcegit_sourcegit-deb-archive-keyring.gpg] https://packages.buildkite.com/sourcegit/sourcegit-deb/any/ any main" > /etc/apt/sources.list.d/buildkite-sourcegit-sourcegit-deb.list
117-
```
118-
Update your local repository and install the package:
119-
```shell
120-
apt update && apt install sourcegit
121-
```
122-
* For RHEL/Fedora based distributions, you can add the `sourcegit` repository by following:
123-
Configure the source:
105+
* Thanks [@aikawayataro](https://github.com/aikawayataro) for providing `rpm` and `deb` repositories, hosted on [Codeberg](https://codeberg.org/yataro/-/packages).
106+
107+
`deb` how to:
124108
```shell
125-
sudo sh -c 'echo -e "[sourcegit-rpm]\nname=sourcegit-rpm\nbaseurl=https://packages.buildkite.com/sourcegit/sourcegit-rpm/rpm_any/rpm_any/\$basearch\nenabled=1\nrepo_gpgcheck=1\ngpgcheck=0\ngpgkey=https://packages.buildkite.com/sourcegit/sourcegit-rpm/gpgkey\npriority=1"' > /etc/yum.repos.d/sourcegit-rpm.repo
109+
curl https://codeberg.org/api/packages/yataro/debian/repository.key | sudo tee /etc/apt/keyrings/sourcegit.asc
110+
echo "deb [signed-by=/etc/apt/keyrings/sourcegit.asc] https://codeberg.org/api/packages/yataro/debian generic main" | sudo tee /etc/apt/sources.list.d/sourcegit.list
111+
sudo apt update
112+
sudo apt install sourcegit
126113
```
127-
Install the package with this command:
114+
115+
`rpm` how to:
128116
```shell
129-
sudo dnf install -y sourcegit
117+
curl https://codeberg.org/api/packages/yataro/rpm.repo | sed -e 's/gpgcheck=1/gpgcheck=0/' > sourcegit.repo
118+
119+
# Fedora 41 and newer
120+
sudo dnf config-manager addrepo --from-repofile=./sourcegit.repo
121+
# Fedora 40 and earlier
122+
sudo dnf config-manager --add-repo ./sourcegit.repo
123+
124+
sudo dnf install sourcegit
130125
```
131-
* `Appimage` files can be found on [AppimageHub](https://appimage.github.io/SourceGit/)
132-
* `xdg-open` must be installed to support open native file manager.
133-
* Make sure [git-credential-manager](https://github.com/git-ecosystem/git-credential-manager/releases) is installed on your linux.
126+
127+
If your distribution isn't using `dnf`, please refer to the documentation of your distribution on how to add an `rpm` repository.
128+
* `AppImage` files can be found on [AppImage hub](https://appimage.github.io/SourceGit/), `xdg-open` (`xdg-utils`) must be installed to support open native file manager.
129+
* Make sure [git-credential-manager](https://github.com/git-ecosystem/git-credential-manager/releases) is installed on your Linux.
134130
* Maybe you need to set environment variable `AVALONIA_SCREEN_SCALE_FACTORS`. See https://github.com/AvaloniaUI/Avalonia/wiki/Configuring-X11-per-monitor-DPI.
135-
* If you can NOT type accented characters, such as `ê`, `ó`, try to set the environment variable `AVALONIA_IM_MODULE` to `none`.
131+
* If you can NOT type accented characters, such as `ê`, `ó`, try to set the environment variable `AVALONIA_IM_MODULE` to `none`.
136132

137133
## OpenAI
138134

SourceGit.sln

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{
1818
.github\workflows\package.yml = .github\workflows\package.yml
1919
.github\workflows\release.yml = .github\workflows\release.yml
2020
.github\workflows\localization-check.yml = .github\workflows\localization-check.yml
21-
.github\workflows\publish-packages.yml = .github\workflows\publish-packages.yml
2221
EndProjectSection
2322
EndProject
2423
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{49A7C2D6-558C-4FAA-8F5D-EEE81497AED7}"

TRANSLATION.md

Lines changed: 79 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,46 @@
1-
### de_DE.axaml: 99.86%
1+
### de_DE.axaml: 97.55%
22

33

44
<details>
55
<summary>Missing Keys</summary>
66

7-
- Text.Preference.General.DateFormat
7+
- Text.Configure.IssueTracker.AddSampleGiteeIssue
8+
- Text.Configure.IssueTracker.AddSampleGiteePullRequest
9+
- Text.Preferences.General.DateFormat
10+
- Text.Preferences.Git.SSLVerify
11+
- Text.Repository.HistoriesLayout
12+
- Text.Repository.HistoriesLayout.Horizontal
13+
- Text.Repository.HistoriesLayout.Vertical
14+
- Text.Repository.HistoriesOrder
15+
- Text.Repository.OnlyHighlightCurrentBranchInHistories
16+
- Text.Repository.Tags.OrderByCreatorDate
17+
- Text.Repository.Tags.OrderByNameAsc
18+
- Text.Repository.Tags.OrderByNameDes
19+
- Text.Repository.Tags.Sort
20+
- Text.Repository.UseRelativeTimeInHistories
21+
- Text.SetUpstream
22+
- Text.SetUpstream.Local
23+
- Text.SetUpstream.Unset
24+
- Text.SetUpstream.Upstream
825

926
</details>
1027

11-
### es_ES.axaml: 99.86%
28+
### es_ES.axaml: 100.00%
1229

1330

1431
<details>
1532
<summary>Missing Keys</summary>
1633

17-
- Text.Preference.General.DateFormat
34+
1835

1936
</details>
2037

21-
### fr_FR.axaml: 94.87%
38+
### fr_FR.axaml: 94.69%
2239

2340

2441
<details>
2542
<summary>Missing Keys</summary>
2643

27-
- Text.BranchCM.MergeMultiBranches
28-
- Text.CherryPick.AppendSourceToMessage
29-
- Text.CherryPick.Mainline.Tips
30-
- Text.CommitCM.CherryPickMultiple
31-
- Text.CommitCM.Merge
32-
- Text.CommitCM.MergeMultiple
33-
- Text.CommitDetail.Files.Search
34-
- Text.Diff.UseBlockNavigation
35-
- Text.Fetch.Force
36-
- Text.FileCM.ResolveUsing
37-
- Text.Hotkeys.Global.Clone
3844
- Text.InProgress.CherryPick.Head
3945
- Text.InProgress.Merge.Operating
4046
- Text.InProgress.Rebase.StoppedAt
@@ -44,27 +50,40 @@
4450
- Text.MergeMultiple.CommitChanges
4551
- Text.MergeMultiple.Strategy
4652
- Text.MergeMultiple.Targets
47-
- Text.Preference.Appearance.FontSize
48-
- Text.Preference.Appearance.FontSize.Default
49-
- Text.Preference.Appearance.FontSize.Editor
50-
- Text.Preference.General.DateFormat
51-
- Text.Preference.General.ShowChildren
53+
- Text.Preferences.Appearance.FontSize
54+
- Text.Preferences.Appearance.FontSize.Default
55+
- Text.Preferences.Appearance.FontSize.Editor
56+
- Text.Preferences.General.DateFormat
57+
- Text.Preferences.General.ShowChildren
58+
- Text.Preferences.Git.SSLVerify
5259
- Text.Repository.CustomActions
5360
- Text.Repository.FilterCommits
5461
- Text.Repository.FilterCommits.Default
5562
- Text.Repository.FilterCommits.Exclude
5663
- Text.Repository.FilterCommits.Include
64+
- Text.Repository.HistoriesLayout
65+
- Text.Repository.HistoriesLayout.Horizontal
66+
- Text.Repository.HistoriesLayout.Vertical
5767
- Text.Repository.HistoriesOrder
5868
- Text.Repository.HistoriesOrder.ByDate
5969
- Text.Repository.HistoriesOrder.Topo
6070
- Text.Repository.Skip
71+
- Text.Repository.Tags.OrderByCreatorDate
72+
- Text.Repository.Tags.OrderByNameAsc
73+
- Text.Repository.Tags.OrderByNameDes
74+
- Text.Repository.Tags.Sort
75+
- Text.Repository.UseRelativeTimeInHistories
6176
- Text.ScanRepositories
77+
- Text.SetUpstream
78+
- Text.SetUpstream.Local
79+
- Text.SetUpstream.Unset
80+
- Text.SetUpstream.Upstream
6281
- Text.SHALinkCM.NavigateTo
6382
- Text.WorkingCopy.CommitToEdit
6483

6584
</details>
6685

67-
### it_IT.axaml: 95.42%
86+
### it_IT.axaml: 93.33%
6887

6988

7089
<details>
@@ -75,6 +94,8 @@
7594
- Text.CommitCM.MergeMultiple
7695
- Text.CommitDetail.Files.Search
7796
- Text.CommitDetail.Info.Children
97+
- Text.Configure.IssueTracker.AddSampleGiteeIssue
98+
- Text.Configure.IssueTracker.AddSampleGiteePullRequest
7899
- Text.Configure.IssueTracker.AddSampleGitLabMergeRequest
79100
- Text.Configure.OpenAI.Preferred
80101
- Text.Configure.OpenAI.Preferred.Tip
@@ -90,23 +111,37 @@
90111
- Text.MergeMultiple.CommitChanges
91112
- Text.MergeMultiple.Strategy
92113
- Text.MergeMultiple.Targets
93-
- Text.Preference.General.DateFormat
94-
- Text.Preference.General.ShowChildren
114+
- Text.Preferences.General.DateFormat
115+
- Text.Preferences.General.ShowChildren
116+
- Text.Preferences.Git.SSLVerify
95117
- Text.Repository.FilterCommits
96118
- Text.Repository.FilterCommits.Default
97119
- Text.Repository.FilterCommits.Exclude
98120
- Text.Repository.FilterCommits.Include
121+
- Text.Repository.HistoriesLayout
122+
- Text.Repository.HistoriesLayout.Horizontal
123+
- Text.Repository.HistoriesLayout.Vertical
99124
- Text.Repository.HistoriesOrder
100125
- Text.Repository.HistoriesOrder.ByDate
101126
- Text.Repository.HistoriesOrder.Topo
127+
- Text.Repository.OnlyHighlightCurrentBranchInHistories
102128
- Text.Repository.Skip
129+
- Text.Repository.Tags.OrderByCreatorDate
130+
- Text.Repository.Tags.OrderByNameAsc
131+
- Text.Repository.Tags.OrderByNameDes
132+
- Text.Repository.Tags.Sort
133+
- Text.Repository.UseRelativeTimeInHistories
134+
- Text.SetUpstream
135+
- Text.SetUpstream.Local
136+
- Text.SetUpstream.Unset
137+
- Text.SetUpstream.Upstream
103138
- Text.SHALinkCM.CopySHA
104139
- Text.SHALinkCM.NavigateTo
105140
- Text.WorkingCopy.CommitToEdit
106141

107142
</details>
108143

109-
### pt_BR.axaml: 96.67%
144+
### pt_BR.axaml: 94.42%
110145

111146

112147
<details>
@@ -117,6 +152,8 @@
117152
- Text.CommitCM.MergeMultiple
118153
- Text.CommitDetail.Files.Search
119154
- Text.CommitDetail.Info.Children
155+
- Text.Configure.IssueTracker.AddSampleGiteeIssue
156+
- Text.Configure.IssueTracker.AddSampleGiteePullRequest
120157
- Text.Diff.UseBlockNavigation
121158
- Text.Fetch.Force
122159
- Text.FileCM.ResolveUsing
@@ -130,10 +167,25 @@
130167
- Text.MergeMultiple.CommitChanges
131168
- Text.MergeMultiple.Strategy
132169
- Text.MergeMultiple.Targets
133-
- Text.Preference.General.DateFormat
134-
- Text.Preference.General.ShowChildren
170+
- Text.Preferences.General.DateFormat
171+
- Text.Preferences.General.ShowChildren
172+
- Text.Preferences.Git.SSLVerify
135173
- Text.Repository.FilterCommits
174+
- Text.Repository.HistoriesLayout
175+
- Text.Repository.HistoriesLayout.Horizontal
176+
- Text.Repository.HistoriesLayout.Vertical
177+
- Text.Repository.HistoriesOrder
178+
- Text.Repository.OnlyHighlightCurrentBranchInHistories
136179
- Text.Repository.Skip
180+
- Text.Repository.Tags.OrderByCreatorDate
181+
- Text.Repository.Tags.OrderByNameAsc
182+
- Text.Repository.Tags.OrderByNameDes
183+
- Text.Repository.Tags.Sort
184+
- Text.Repository.UseRelativeTimeInHistories
185+
- Text.SetUpstream
186+
- Text.SetUpstream.Local
187+
- Text.SetUpstream.Unset
188+
- Text.SetUpstream.Upstream
137189
- Text.SHALinkCM.NavigateTo
138190
- Text.WorkingCopy.CommitToEdit
139191

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025.01
1+
2025.02

build/resources/deb/DEBIAN/control

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Package: sourcegit
22
Version: 8.23
33
Priority: optional
4-
Depends: libx11-6, libice6, libsm6
4+
Depends: libx11-6, libice6, libsm6, libicu | libicu76 | libicu74 | libicu72 | libicu71 | libicu70 | libicu69 | libicu68 | libicu67 | libicu66 | libicu65 | libicu63 | libicu60 | libicu57 | libicu55 | libicu52, xdg-utils
55
Architecture: amd64
66
Maintainer: [email protected]
77
Description: Open-source & Free Git GUI Client

build/resources/rpm/SPECS/build.spec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Source: https://github.com/sourcegit-scm/sourcegit/archive/refs/tags/v%_version.
88
Requires: libX11.so.6()(%{__isa_bits}bit)
99
Requires: libSM.so.6()(%{__isa_bits}bit)
1010
Requires: libicu
11+
Requires: xdg-utils
1112

1213
%define _build_id_links none
1314

src/App.Commands.cs

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,30 @@ public static bool IsCheckForUpdateCommandVisible
2929
{
3030
get
3131
{
32-
#if DISABLE_UPDATE_DETECTION
32+
#if DISABLE_UPDATE_DETECTION
3333
return false;
34-
#else
34+
#else
3535
return true;
36-
#endif
36+
#endif
3737
}
3838
}
3939

40-
public static readonly Command OpenPreferenceCommand = new Command(_ => OpenDialog(new Views.Preference()));
40+
public static readonly Command OpenPreferencesCommand = new Command(_ => OpenDialog(new Views.Preferences()));
4141
public static readonly Command OpenHotkeysCommand = new Command(_ => OpenDialog(new Views.Hotkeys()));
4242
public static readonly Command OpenAppDataDirCommand = new Command(_ => Native.OS.OpenInFileManager(Native.OS.DataDir));
4343
public static readonly Command OpenAboutCommand = new Command(_ => OpenDialog(new Views.About()));
44-
public static readonly Command CheckForUpdateCommand = new Command(_ => Check4Update(true));
44+
public static readonly Command CheckForUpdateCommand = new Command(_ => (Current as App)?.Check4Update(true));
4545
public static readonly Command QuitCommand = new Command(_ => Quit(0));
46-
public static readonly Command CopyTextBlockCommand = new Command(p => CopyTextBlock(p as TextBlock));
46+
public static readonly Command CopyTextBlockCommand = new Command(p =>
47+
{
48+
var textBlock = p as TextBlock;
49+
if (textBlock == null)
50+
return;
51+
52+
if (textBlock.Inlines is { Count: > 0 } inlines)
53+
CopyText(inlines.Text);
54+
else if (!string.IsNullOrEmpty(textBlock.Text))
55+
CopyText(textBlock.Text);
56+
});
4757
}
4858
}

0 commit comments

Comments
 (0)