Skip to content

Commit 7dd1389

Browse files
committed
Merge branch 'release/v2025.18'
2 parents 01625ad + 341ac26 commit 7dd1389

Some content is hidden

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

59 files changed

+2345
-747
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,5 @@ build/*.deb
3737
build/*.rpm
3838
build/*.AppImage
3939
SourceGit.app/
40+
build.command
41+
src/Properties/launchSettings.json

TRANSLATION.md

Lines changed: 103 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,41 @@ This document shows the translation status of each locale file in the repository
66

77
### ![en_US](https://img.shields.io/badge/en__US-%E2%88%9A-brightgreen)
88

9-
### ![de__DE](https://img.shields.io/badge/de__DE-99.74%25-yellow)
9+
### ![de__DE](https://img.shields.io/badge/de__DE-98.23%25-yellow)
1010

1111
<details>
1212
<summary>Missing keys in de_DE.axaml</summary>
1313

1414
- Text.GitFlow.FinishWithPush
1515
- Text.GitFlow.FinishWithSquash
16+
- Text.Hotkeys.Global.SwitchWorkspace
17+
- Text.Hotkeys.Global.SwitchTab
18+
- Text.Hotkeys.TextEditor.OpenExternalMergeTool
19+
- Text.Launcher.Workspaces
20+
- Text.Launcher.Pages
21+
- Text.Repository.ShowSubmodulesAsTree
22+
- Text.Submodule.Status
23+
- Text.Submodule.Status.Modified
24+
- Text.Submodule.Status.NotInited
25+
- Text.Submodule.Status.RevisionChanged
26+
- Text.Submodule.Status.Unmerged
27+
- Text.Submodule.URL
1628

1729
</details>
1830

19-
### ![es__ES](https://img.shields.io/badge/es__ES-%E2%88%9A-brightgreen)
31+
### ![es__ES](https://img.shields.io/badge/es__ES-99.49%25-yellow)
2032

21-
### ![fr__FR](https://img.shields.io/badge/fr__FR-95.50%25-yellow)
33+
<details>
34+
<summary>Missing keys in es_ES.axaml</summary>
35+
36+
- Text.Hotkeys.Global.SwitchWorkspace
37+
- Text.Hotkeys.Global.SwitchTab
38+
- Text.Launcher.Workspaces
39+
- Text.Launcher.Pages
40+
41+
</details>
42+
43+
### ![fr__FR](https://img.shields.io/badge/fr__FR-94.05%25-yellow)
2244

2345
<details>
2446
<summary>Missing keys in fr_FR.axaml</summary>
@@ -42,13 +64,25 @@ This document shows the translation status of each locale file in the repository
4264
- Text.ConfirmEmptyCommit.WithLocalChanges
4365
- Text.GitFlow.FinishWithPush
4466
- Text.GitFlow.FinishWithSquash
67+
- Text.Hotkeys.Global.SwitchWorkspace
68+
- Text.Hotkeys.Global.SwitchTab
69+
- Text.Hotkeys.TextEditor.OpenExternalMergeTool
70+
- Text.Launcher.Workspaces
71+
- Text.Launcher.Pages
4572
- Text.Preferences.Git.IgnoreCRAtEOLInDiff
4673
- Text.Repository.BranchSort
4774
- Text.Repository.BranchSort.ByCommitterDate
4875
- Text.Repository.BranchSort.ByName
4976
- Text.Repository.Search.ByContent
77+
- Text.Repository.ShowSubmodulesAsTree
5078
- Text.Repository.ViewLogs
5179
- Text.Repository.Visit
80+
- Text.Submodule.Status
81+
- Text.Submodule.Status.Modified
82+
- Text.Submodule.Status.NotInited
83+
- Text.Submodule.Status.RevisionChanged
84+
- Text.Submodule.Status.Unmerged
85+
- Text.Submodule.URL
5286
- Text.ViewLogs
5387
- Text.ViewLogs.Clear
5488
- Text.ViewLogs.CopyLog
@@ -61,52 +95,19 @@ This document shows the translation status of each locale file in the repository
6195

6296
</details>
6397

64-
### ![it__IT](https://img.shields.io/badge/it__IT-95.24%25-yellow)
98+
### ![it__IT](https://img.shields.io/badge/it__IT-99.49%25-yellow)
6599

66100
<details>
67101
<summary>Missing keys in it_IT.axaml</summary>
68102

69-
- Text.Bisect
70-
- Text.Bisect.Abort
71-
- Text.Bisect.Bad
72-
- Text.Bisect.Detecting
73-
- Text.Bisect.Good
74-
- Text.Bisect.Skip
75-
- Text.Bisect.WaitingForRange
76-
- Text.Checkout.RecurseSubmodules
77-
- Text.CommitCM.CopyAuthor
78-
- Text.CommitCM.CopyCommitter
79-
- Text.CommitCM.CopySubject
80-
- Text.CommitMessageTextBox.SubjectCount
81-
- Text.Configure.Git.PreferredMergeMode
82-
- Text.ConfirmEmptyCommit.Continue
83-
- Text.ConfirmEmptyCommit.NoLocalChanges
84-
- Text.ConfirmEmptyCommit.StageAllThenCommit
85-
- Text.ConfirmEmptyCommit.WithLocalChanges
86-
- Text.CopyFullPath
87-
- Text.GitFlow.FinishWithPush
88-
- Text.GitFlow.FinishWithSquash
89-
- Text.Preferences.General.ShowTagsInGraph
90-
- Text.Preferences.Git.IgnoreCRAtEOLInDiff
91-
- Text.Repository.BranchSort
92-
- Text.Repository.BranchSort.ByCommitterDate
93-
- Text.Repository.BranchSort.ByName
94-
- Text.Repository.Search.ByContent
95-
- Text.Repository.ViewLogs
96-
- Text.Repository.Visit
97-
- Text.ViewLogs
98-
- Text.ViewLogs.Clear
99-
- Text.ViewLogs.CopyLog
100-
- Text.ViewLogs.Delete
101-
- Text.WorkingCopy.ConfirmCommitWithFilter
102-
- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
103-
- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
104-
- Text.WorkingCopy.Conflicts.UseMine
105-
- Text.WorkingCopy.Conflicts.UseTheirs
103+
- Text.Hotkeys.Global.SwitchWorkspace
104+
- Text.Hotkeys.Global.SwitchTab
105+
- Text.Launcher.Workspaces
106+
- Text.Launcher.Pages
106107

107108
</details>
108109

109-
### ![ja__JP](https://img.shields.io/badge/ja__JP-95.24%25-yellow)
110+
### ![ja__JP](https://img.shields.io/badge/ja__JP-93.80%25-yellow)
110111

111112
<details>
112113
<summary>Missing keys in ja_JP.axaml</summary>
@@ -130,15 +131,27 @@ This document shows the translation status of each locale file in the repository
130131
- Text.ConfirmEmptyCommit.WithLocalChanges
131132
- Text.GitFlow.FinishWithPush
132133
- Text.GitFlow.FinishWithSquash
134+
- Text.Hotkeys.Global.SwitchWorkspace
135+
- Text.Hotkeys.Global.SwitchTab
136+
- Text.Hotkeys.TextEditor.OpenExternalMergeTool
137+
- Text.Launcher.Workspaces
138+
- Text.Launcher.Pages
133139
- Text.Preferences.Git.IgnoreCRAtEOLInDiff
134140
- Text.Repository.BranchSort
135141
- Text.Repository.BranchSort.ByCommitterDate
136142
- Text.Repository.BranchSort.ByName
137143
- Text.Repository.FilterCommits
138144
- Text.Repository.Search.ByContent
145+
- Text.Repository.ShowSubmodulesAsTree
139146
- Text.Repository.Tags.OrderByNameDes
140147
- Text.Repository.ViewLogs
141148
- Text.Repository.Visit
149+
- Text.Submodule.Status
150+
- Text.Submodule.Status.Modified
151+
- Text.Submodule.Status.NotInited
152+
- Text.Submodule.Status.RevisionChanged
153+
- Text.Submodule.Status.Unmerged
154+
- Text.Submodule.URL
142155
- Text.ViewLogs
143156
- Text.ViewLogs.Clear
144157
- Text.ViewLogs.CopyLog
@@ -151,7 +164,7 @@ This document shows the translation status of each locale file in the repository
151164

152165
</details>
153166

154-
### ![pt__BR](https://img.shields.io/badge/pt__BR-86.89%25-yellow)
167+
### ![pt__BR](https://img.shields.io/badge/pt__BR-85.57%25-yellow)
155168

156169
<details>
157170
<summary>Missing keys in pt_BR.axaml</summary>
@@ -204,10 +217,15 @@ This document shows the translation status of each locale file in the repository
204217
- Text.GitFlow.FinishWithPush
205218
- Text.GitFlow.FinishWithSquash
206219
- Text.Hotkeys.Global.Clone
220+
- Text.Hotkeys.Global.SwitchWorkspace
221+
- Text.Hotkeys.Global.SwitchTab
222+
- Text.Hotkeys.TextEditor.OpenExternalMergeTool
207223
- Text.InProgress.CherryPick.Head
208224
- Text.InProgress.Merge.Operating
209225
- Text.InProgress.Rebase.StoppedAt
210226
- Text.InProgress.Revert.Head
227+
- Text.Launcher.Workspaces
228+
- Text.Launcher.Pages
211229
- Text.Merge.Source
212230
- Text.MergeMultiple
213231
- Text.MergeMultiple.CommitChanges
@@ -231,6 +249,7 @@ This document shows the translation status of each locale file in the repository
231249
- Text.Repository.Notifications.Clear
232250
- Text.Repository.OnlyHighlightCurrentBranchInHistories
233251
- Text.Repository.Search.ByContent
252+
- Text.Repository.ShowSubmodulesAsTree
234253
- Text.Repository.Skip
235254
- Text.Repository.Tags.OrderByCreatorDate
236255
- Text.Repository.Tags.OrderByNameAsc
@@ -247,6 +266,12 @@ This document shows the translation status of each locale file in the repository
247266
- Text.Stash.AutoRestore
248267
- Text.Stash.AutoRestore.Tip
249268
- Text.StashCM.SaveAsPatch
269+
- Text.Submodule.Status
270+
- Text.Submodule.Status.Modified
271+
- Text.Submodule.Status.NotInited
272+
- Text.Submodule.Status.RevisionChanged
273+
- Text.Submodule.Status.Unmerged
274+
- Text.Submodule.URL
250275
- Text.ViewLogs
251276
- Text.ViewLogs.Clear
252277
- Text.ViewLogs.CopyLog
@@ -261,9 +286,17 @@ This document shows the translation status of each locale file in the repository
261286

262287
</details>
263288

264-
### ![ru__RU](https://img.shields.io/badge/ru__RU-%E2%88%9A-brightgreen)
289+
### ![ru__RU](https://img.shields.io/badge/ru__RU-99.75%25-yellow)
290+
291+
<details>
292+
<summary>Missing keys in ru_RU.axaml</summary>
293+
294+
- Text.Hotkeys.Global.SwitchTab
295+
- Text.Launcher.Pages
296+
297+
</details>
265298

266-
### ![ta__IN](https://img.shields.io/badge/ta__IN-95.50%25-yellow)
299+
### ![ta__IN](https://img.shields.io/badge/ta__IN-94.05%25-yellow)
267300

268301
<details>
269302
<summary>Missing keys in ta_IN.axaml</summary>
@@ -287,13 +320,25 @@ This document shows the translation status of each locale file in the repository
287320
- Text.ConfirmEmptyCommit.WithLocalChanges
288321
- Text.GitFlow.FinishWithPush
289322
- Text.GitFlow.FinishWithSquash
323+
- Text.Hotkeys.Global.SwitchWorkspace
324+
- Text.Hotkeys.Global.SwitchTab
325+
- Text.Hotkeys.TextEditor.OpenExternalMergeTool
326+
- Text.Launcher.Workspaces
327+
- Text.Launcher.Pages
290328
- Text.Preferences.Git.IgnoreCRAtEOLInDiff
291329
- Text.Repository.BranchSort
292330
- Text.Repository.BranchSort.ByCommitterDate
293331
- Text.Repository.BranchSort.ByName
294332
- Text.Repository.Search.ByContent
333+
- Text.Repository.ShowSubmodulesAsTree
295334
- Text.Repository.ViewLogs
296335
- Text.Repository.Visit
336+
- Text.Submodule.Status
337+
- Text.Submodule.Status.Modified
338+
- Text.Submodule.Status.NotInited
339+
- Text.Submodule.Status.RevisionChanged
340+
- Text.Submodule.Status.Unmerged
341+
- Text.Submodule.URL
297342
- Text.UpdateSubmodules.Target
298343
- Text.ViewLogs
299344
- Text.ViewLogs.Clear
@@ -306,7 +351,7 @@ This document shows the translation status of each locale file in the repository
306351

307352
</details>
308353

309-
### ![uk__UA](https://img.shields.io/badge/uk__UA-96.66%25-yellow)
354+
### ![uk__UA](https://img.shields.io/badge/uk__UA-95.19%25-yellow)
310355

311356
<details>
312357
<summary>Missing keys in uk_UA.axaml</summary>
@@ -326,13 +371,25 @@ This document shows the translation status of each locale file in the repository
326371
- Text.ConfigureWorkspace.Name
327372
- Text.GitFlow.FinishWithPush
328373
- Text.GitFlow.FinishWithSquash
374+
- Text.Hotkeys.Global.SwitchWorkspace
375+
- Text.Hotkeys.Global.SwitchTab
376+
- Text.Hotkeys.TextEditor.OpenExternalMergeTool
377+
- Text.Launcher.Workspaces
378+
- Text.Launcher.Pages
329379
- Text.Preferences.Git.IgnoreCRAtEOLInDiff
330380
- Text.Repository.BranchSort
331381
- Text.Repository.BranchSort.ByCommitterDate
332382
- Text.Repository.BranchSort.ByName
333383
- Text.Repository.Search.ByContent
384+
- Text.Repository.ShowSubmodulesAsTree
334385
- Text.Repository.ViewLogs
335386
- Text.Repository.Visit
387+
- Text.Submodule.Status
388+
- Text.Submodule.Status.Modified
389+
- Text.Submodule.Status.NotInited
390+
- Text.Submodule.Status.RevisionChanged
391+
- Text.Submodule.Status.Unmerged
392+
- Text.Submodule.URL
336393
- Text.ViewLogs
337394
- Text.ViewLogs.Clear
338395
- Text.ViewLogs.CopyLog

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025.17
1+
2025.18

src/App.axaml.cs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,24 @@ public static void LogException(Exception ex)
107107
#region Utility Functions
108108
public static void ShowWindow(object data, bool showAsDialog)
109109
{
110-
if (data is Views.ChromelessWindow window)
110+
var impl = (Views.ChromelessWindow target, bool isDialog) =>
111111
{
112-
if (showAsDialog && Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime { MainWindow: { } owner })
113-
window.ShowDialog(owner);
112+
if (Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime { MainWindow: { } owner })
113+
{
114+
if (isDialog)
115+
target.ShowDialog(owner);
116+
else
117+
target.Show(owner);
118+
}
114119
else
115-
window.Show();
120+
{
121+
target.Show();
122+
}
123+
};
116124

125+
if (data is Views.ChromelessWindow window)
126+
{
127+
impl(window, showAsDialog);
117128
return;
118129
}
119130

@@ -130,10 +141,7 @@ public static void ShowWindow(object data, bool showAsDialog)
130141
if (window != null)
131142
{
132143
window.DataContext = data;
133-
if (showAsDialog && Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime { MainWindow: { } owner })
134-
window.ShowDialog(owner);
135-
else
136-
window.Show();
144+
impl(window, showAsDialog);
137145
}
138146
}
139147

src/Commands/Discard.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public static void All(string repo, bool includeIgnored, Models.ICommandLog log)
3535
App.RaiseException(repo, $"Failed to discard changes. Reason: {e.Message}");
3636
});
3737
}
38-
38+
3939
new Restore(repo) { Log = log }.Exec();
4040
if (includeIgnored)
4141
new Clean(repo) { Log = log }.Exec();

src/Commands/QueryBranches.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ public QueryBranches(string repo)
1717
Args = "branch -l --all -v --format=\"%(refname)%00%(committerdate:unix)%00%(objectname)%00%(HEAD)%00%(upstream)%00%(upstream:trackshort)\"";
1818
}
1919

20-
public List<Models.Branch> Result()
20+
public List<Models.Branch> Result(out int localBranchesCount)
2121
{
22+
localBranchesCount = 0;
23+
2224
var branches = new List<Models.Branch>();
2325
var rs = ReadToEnd();
2426
if (!rs.IsSuccess)
@@ -34,6 +36,8 @@ public QueryBranches(string repo)
3436
branches.Add(b);
3537
if (!b.IsLocal)
3638
remoteBranches.Add(b.FullName);
39+
else
40+
localBranchesCount++;
3741
}
3842
}
3943

src/Commands/QueryLocalChanges.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Text.RegularExpressions;
4+
using Avalonia.Threading;
45

56
namespace SourceGit.Commands
67
{
@@ -22,7 +23,10 @@ public QueryLocalChanges(string repo, bool includeUntracked = true)
2223
var outs = new List<Models.Change>();
2324
var rs = ReadToEnd();
2425
if (!rs.IsSuccess)
26+
{
27+
Dispatcher.UIThread.Post(() => App.RaiseException(Context, rs.StdErr));
2528
return outs;
29+
}
2630

2731
var lines = rs.StdOut.Split(['\r', '\n'], StringSplitOptions.RemoveEmptyEntries);
2832
foreach (var line in lines)

0 commit comments

Comments
 (0)