Skip to content

Commit 7e4e339

Browse files
committed
Merge branch 'release/v8.9'
2 parents e9c65d6 + c171ae0 commit 7e4e339

32 files changed

+287
-149
lines changed

.gitignore

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -596,14 +596,11 @@ package-lock.json
596596
*.db-shm
597597
*.db-wal
598598

599-
## SourceGit ###
600-
601-
# Output folders.
602-
[Bb]uild/[Ss]ource[Gg]it/
603-
[Bb]uild/[Ss]ource[Gg]it.app/
604-
605-
# Files
606-
SourceGit.win-x64.zip
607-
SourceGit.linux-x64.tar.gz
608-
SourceGit.osx-x64.zip
609-
SourceGit.osx-arm64.zip
599+
# SourceGit output files
600+
build/resources/
601+
build/SourceGit/
602+
build/SourceGit.app/
603+
build/*.zip
604+
build/*.tar.gz
605+
build/*.deb
606+
build/*.rpm

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,18 @@ Opensource Git GUI client.
3030
3131
## How to use
3232

33-
**To use this tool, you need to install Git first.**
33+
**To use this tool, you need to install Git(>=2.23.0) first.**
3434

3535
You can download the latest stable from [Releases](https://github.com/sourcegit-scm/sourcegit/releases/latest) or download workflow artifacts from [Github Actions](https://github.com/sourcegit-scm/sourcegit/actions) to try this app based on latest commits.
3636

3737
For **Windows** users:
3838

3939
* **MSYS Git is NOT supported**. Please use official [Git for Windows](https://git-scm.com/download/win) instead.
40-
* `Source.win-x64.zip` may be reported as virus by Windows Defender. I don't know why. I have manually tested the zip to be uploaded using Windows Defender before uploading and no virus was found. If you have installed .NET 8 SDK locally, I suggest you to compile it yourself. And if you have any idea about how to fix this, please open an issue.
40+
* `sourcegit_x.y.win-x64.zip` may be reported as virus by Windows Defender. I don't know why. I have manually tested the zip to be uploaded using Windows Defender before uploading and no virus was found. If you have installed .NET 8 SDK locally, I suggest you to compile it yourself. And if you have any idea about how to fix this, please open an issue.
4141

4242
For **macOS** users:
4343

44-
* Download `SourceGit.osx-x64.zip` or `SourceGit.osx-arm64.zip` from Releases. `x64` for Intel and `arm64` for Apple Silicon.
44+
* Download `sourcegit_x.y.osx-x64.zip` or `sourcegit_x.y.osx-arm64.zip` from Releases. `x64` for Intel and `arm64` for Apple Silicon.
4545
* Move `SourceGit.app` to `Applications` folder.
4646
* Make sure your mac trusts all software from anywhere. For more information, search `spctl --master-disable`.
4747
* Make sure [git-credential-manager](https://github.com/git-ecosystem/git-credential-manager/releases) is installed on your mac.
@@ -50,9 +50,8 @@ For **macOS** users:
5050
For **Linux** users:
5151

5252
* `xdg-open` must be installed to support open native file manager.
53-
* Make sure [git-credential-manager](https://github.com/git-ecosystem/git-credential-manager/releases) is installed on your linux, and it requires `ttf-mscorefonts-installer` installed.
53+
* Make sure [git-credential-manager](https://github.com/git-ecosystem/git-credential-manager/releases) is installed on your linux.
5454
* Maybe you need to set environment variable `AVALONIA_SCREEN_SCALE_FACTORS`. See https://github.com/AvaloniaUI/Avalonia/wiki/Configuring-X11-per-monitor-DPI.
55-
* Modify `SourceGit.desktop.template` (replace SOURCEGIT_LOCAL_FOLDER with real path) and move it into `~/.local/share/applications`.
5655

5756
## External Tools
5857

@@ -82,5 +81,5 @@ You can set the given environment variable for special tool if it can NOT be fou
8281
Thanks to all the people who contribute.
8382

8483
<a href="https://github.com/sourcegit-scm/sourcegit/graphs/contributors">
85-
<img src="https://contrib.rocks/image?repo=sourcegit-scm/sourcegit&t=1" />
84+
<img src="https://contrib.rocks/image?repo=sourcegit-scm/sourcegit&t=2" />
8685
</a>

SourceGit.sln

Lines changed: 53 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{773082AC
1313
EndProjectSection
1414
EndProject
1515
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "resources", "resources", "{FD384607-ED99-47B7-AF31-FB245841BC92}"
16-
ProjectSection(SolutionItems) = preProject
17-
build\resources\App.icns = build\resources\App.icns
18-
build\resources\App.plist = build\resources\App.plist
19-
build\resources\SourceGit.desktop.template = build\resources\SourceGit.desktop.template
20-
EndProjectSection
2116
EndProject
2217
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{F45A9D95-AF25-42D8-BBAC-8259C9EEE820}"
2318
EndProject
@@ -36,6 +31,48 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "files", "files", "{3AB707DB
3631
global.json = global.json
3732
LICENSE = LICENSE
3833
README.md = README.md
34+
VERSION = VERSION
35+
EndProjectSection
36+
EndProject
37+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "app", "app", "{ABC98884-F023-4EF4-A9C9-5DE9452BE955}"
38+
ProjectSection(SolutionItems) = preProject
39+
build\resources\app\App.icns = build\resources\app\App.icns
40+
build\resources\app\App.plist = build\resources\app\App.plist
41+
EndProjectSection
42+
EndProject
43+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_common", "_common", "{04FD74B1-FBDB-496E-A48F-3D59D71FF952}"
44+
EndProject
45+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "usr", "usr", "{76639799-54BC-45E8-BD90-F45F63ACD11D}"
46+
EndProject
47+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "bin", "bin", "{2E27E952-846B-4D75-A426-D22151277864}"
48+
ProjectSection(SolutionItems) = preProject
49+
build\resources\_common\usr\bin\sourcegit = build\resources\_common\usr\bin\sourcegit
50+
EndProjectSection
51+
EndProject
52+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "share", "share", "{A3ABAA7C-EE14-4448-B466-6E69C1347E7D}"
53+
EndProject
54+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "applications", "applications", "{2AF28D3B-14A8-46A8-B828-157FAAB1B06F}"
55+
ProjectSection(SolutionItems) = preProject
56+
build\resources\_common\usr\share\applications\sourcegit.desktop = build\resources\_common\usr\share\applications\sourcegit.desktop
57+
EndProjectSection
58+
EndProject
59+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "icons", "icons", "{7166EC6C-17F5-4B5E-B38E-1E53C81EACF6}"
60+
ProjectSection(SolutionItems) = preProject
61+
build\resources\_common\usr\share\icons\sourcegit.png = build\resources\_common\usr\share\icons\sourcegit.png
62+
EndProjectSection
63+
EndProject
64+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "deb", "deb", "{9C2F0CDA-B56E-44A5-94B6-F3EA7AC20CDC}"
65+
EndProject
66+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DEBIAN", "DEBIAN", "{F101849D-BDB7-40D4-A516-751150C3CCFC}"
67+
ProjectSection(SolutionItems) = preProject
68+
build\resources\deb\DEBIAN\control = build\resources\deb\DEBIAN\control
69+
EndProjectSection
70+
EndProject
71+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "rpm", "rpm", "{9BA0B044-0CC9-46F8-B551-204F149BF45D}"
72+
EndProject
73+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SPECS", "SPECS", "{7802CD7A-591B-4EDD-96F8-9BF3F61692E4}"
74+
ProjectSection(SolutionItems) = preProject
75+
build\resources\rpm\SPECS\build.spec = build\resources\rpm\SPECS\build.spec
3976
EndProjectSection
4077
EndProject
4178
Global
@@ -56,6 +93,17 @@ Global
5693
{2091C34D-4A17-4375-BEF3-4D60BE8113E4} = {49A7C2D6-558C-4FAA-8F5D-EEE81497AED7}
5794
{FD384607-ED99-47B7-AF31-FB245841BC92} = {773082AC-D9C8-4186-8521-4B6A7BEE6158}
5895
{67B6D05F-A000-40BA-ADB4-C9065F880D7B} = {F45A9D95-AF25-42D8-BBAC-8259C9EEE820}
96+
{ABC98884-F023-4EF4-A9C9-5DE9452BE955} = {FD384607-ED99-47B7-AF31-FB245841BC92}
97+
{04FD74B1-FBDB-496E-A48F-3D59D71FF952} = {FD384607-ED99-47B7-AF31-FB245841BC92}
98+
{76639799-54BC-45E8-BD90-F45F63ACD11D} = {04FD74B1-FBDB-496E-A48F-3D59D71FF952}
99+
{2E27E952-846B-4D75-A426-D22151277864} = {76639799-54BC-45E8-BD90-F45F63ACD11D}
100+
{A3ABAA7C-EE14-4448-B466-6E69C1347E7D} = {76639799-54BC-45E8-BD90-F45F63ACD11D}
101+
{2AF28D3B-14A8-46A8-B828-157FAAB1B06F} = {A3ABAA7C-EE14-4448-B466-6E69C1347E7D}
102+
{7166EC6C-17F5-4B5E-B38E-1E53C81EACF6} = {A3ABAA7C-EE14-4448-B466-6E69C1347E7D}
103+
{9C2F0CDA-B56E-44A5-94B6-F3EA7AC20CDC} = {FD384607-ED99-47B7-AF31-FB245841BC92}
104+
{F101849D-BDB7-40D4-A516-751150C3CCFC} = {9C2F0CDA-B56E-44A5-94B6-F3EA7AC20CDC}
105+
{9BA0B044-0CC9-46F8-B551-204F149BF45D} = {FD384607-ED99-47B7-AF31-FB245841BC92}
106+
{7802CD7A-591B-4EDD-96F8-9BF3F61692E4} = {9BA0B044-0CC9-46F8-B551-204F149BF45D}
59107
EndGlobalSection
60108
GlobalSection(ExtensibilityGlobals) = postSolution
61109
SolutionGuid = {7FF1B9C6-B5BF-4A50-949F-4B407A0E31C9}

VERSION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
8.9

build/build.linux.sh

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,31 @@
11
#!/bin/sh
22

3-
rm -rf SourceGit
3+
version=`cat ../VERSION`
4+
5+
# Cleanup
6+
rm -rf SourceGit *.tar.gz resources/deb/opt *.deb *.rpm
7+
8+
# Compile
49
dotnet publish ../src/SourceGit.csproj -c Release -r linux-x64 -o SourceGit -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained
5-
cp resources/SourceGit.desktop.template SourceGit/SourceGit.desktop.template
6-
cp resources/App.icns SourceGit/SourceGit.icns
7-
tar -zcvf SourceGit.linux-x64.tar.gz --exclude="*/*.dbg" SourceGit
10+
mv SourceGit/SourceGit SourceGit/sourcegit
11+
rm -f SourceGit/*.dbg
12+
13+
# General Linux archive
14+
tar -zcvf sourcegit_${version}.linux-x64.tar.gz SourceGit
15+
16+
# Debain/Ubuntu package
17+
mkdir -p resources/deb/opt/sourcegit/
18+
mkdir -p resources/deb/usr/bin
19+
mkdir -p resources/deb/usr/share/applications
20+
mkdir -p resources/deb/usr/share/icons
21+
cp -f SourceGit/* resources/deb/opt/sourcegit/
22+
cp -r resources/_common/usr resources/deb/
23+
chmod -R 755 resources/deb
24+
sed -i "2s/.*/Version: ${version}/g" resources/deb/DEBIAN/control
25+
dpkg-deb --build resources/deb ./sourcegit_${version}-1_amd64.deb
26+
27+
# Redhat/CentOS/Fedora package
28+
rpmbuild -bb --target=x86_64 resources/rpm/SPECS/build.spec --define "_topdir `pwd`/resources/rpm" --define "_version ${version}"
29+
mv resources/rpm/RPMS/x86_64/sourcegit-${version}-1.x86_64.rpm .
30+
831
rm -rf SourceGit

build/build.osx.command

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
#!/bin/sh
22

3-
rm -rf SourceGit.app
3+
version=`cat ../VERSION`
4+
5+
rm -rf SourceGit.app *.zip
46

57
mkdir -p SourceGit.app/Contents/Resources
6-
cp resources/App.plist SourceGit.app/Contents/Info.plist
7-
cp resources/App.icns SourceGit.app/Contents/Resources/App.icns
8+
cp resources/app/App.icns SourceGit.app/Contents/Resources/App.icns
9+
sed "s/SOURCE_GIT_VERSION/${version}/g" resources/app/App.plist > SourceGit.app/Contents/Info.plist
810

911
mkdir -p SourceGit.app/Contents/MacOS
1012
dotnet publish ../src/SourceGit.csproj -c Release -r osx-arm64 -o SourceGit.app/Contents/MacOS -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained
11-
zip SourceGit.osx-arm64.zip -r SourceGit.app -x "*/*\.dsym/*"
13+
zip sourcegit_${version}.osx-arm64.zip -r SourceGit.app -x "*/*\.dsym/*"
1214

1315
rm -rf SourceGit.app/Contents/MacOS
1416

1517
mkdir -p SourceGit.app/Contents/MacOS
1618
dotnet publish ../src/SourceGit.csproj -c Release -r osx-x64 -o SourceGit.app/Contents/MacOS -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained
17-
zip SourceGit.osx-x64.zip -r SourceGit.app -x "*/*\.dsym/*"
19+
zip sourcegit_${version}.osx-x64.zip -r SourceGit.app -x "*/*\.dsym/*"
20+
21+
rm -rf SourceGit.app

build/build.windows.ps1

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1+
$version = Get-Content ..\VERSION
2+
13
if (Test-Path SourceGit) {
24
Remove-Item SourceGit -Recurse -Force
35
}
46

5-
if (Test-Path SourceGit.win-x64.zip) {
6-
Remove-Item SourceGit.win-x64.zip -Force
7-
}
7+
Remove-Item *.zip -Force
88

99
dotnet publish ..\src\SourceGit.csproj -c Release -r win-x64 -o SourceGit -p:PublishAot=true -p:PublishTrimmed=true -p:TrimMode=link --self-contained
1010

1111
Remove-Item SourceGit\*.pdb -Force
1212

13-
Compress-Archive -Path SourceGit -DestinationPath SourceGit.win-x64.zip
13+
Compress-Archive -Path SourceGit -DestinationPath "sourcegit_$version.win-x64.zip"

build/resources/SourceGit.desktop.template

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[Desktop Entry]
2+
Name=Source Git
3+
Comment=Open-source & Free Git GUI Client
4+
Exec=/opt/sourcegit/sourcegit
5+
Icon=/usr/share/icons/sourcegit.png
6+
Terminal=false
7+
Type=Application
8+
Categories=Development
36.6 KB
Loading

0 commit comments

Comments
 (0)