8000 Merge branch 'release/v2025.13' · sourcegit-scm/sourcegit@61a1b13 · GitHub
[go: up one dir, main page]

Skip to content

Commit 61a1b13

Browse files
committed
Merge branch 'release/v2025.13'
2 parents f3d99d6 + 69d8d96 commit 61a1b13

Some content is hidden

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

43 files changed

+1718
-673
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* Supports Windows/macOS/Linux
1212
* Opensource/Free
1313
* Fast
14-
* Deutsch/English/Español/Français/Italiano/Português/Русский/简体中文/繁體中文/日本語
14+
* Deutsch/English/Español/Français/Italiano/Português/Русский/简体中文/繁體中文/日本語/தமிழ் (Tamil)
1515
* Built-in light/dark themes
1616
* Customize theme
1717
* Visual commit graph
@@ -48,7 +48,7 @@
4848
4949
## Translation Status
5050

51-
You can find the current translation status in [TRANSLATION.md](TRANSLATION.md)
51+
You can find the current translation status in [TRANSLATION.md](https://github.com/sourcegit-scm/sourcegit/blob/develop/TRANSLATION.md)
5252

5353
## How to Use
5454

TRANSLATION.md

Lines changed: 96 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,49 +6,111 @@ 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-98.65%25-yellow)
9+
### ![de__DE](https://img.shields.io/badge/de__DE-97.34%25-yellow)
1010

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

1414
- Text.BranchUpstreamInvalid
1515
- Text.Configure.CustomAction.WaitForExit
16+
- Text.Configure.Git.PreferredMergeMode
1617
- Text.Configure.IssueTracker.AddSampleAzure
18+
- Text.ConfirmEmptyCommit.Continue
19+
- Text.ConfirmEmptyCommit.NoLocalChanges
20+
- Text.ConfirmEmptyCommit.StageAllThenCommit
21+
- Text.ConfirmEmptyCommit.WithLocalChanges
1722
- Text.CopyFullPath
1823
- Text.Diff.First
1924
- Text.Diff.Last
2025
- Text.Preferences.AI.Streaming
2126
- Text.Preferences.Appearance.EditorTabWidth
2227
- Text.Preferences.General.ShowTagsInGraph
2328
- Text.StashCM.SaveAsPatch
29+
- Text.WorkingCopy.ConfirmCommitWithFilter
30+
- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
31+
- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
32+
- Text.WorkingCopy.Conflicts.UseMine
33+
- Text.WorkingCopy.Conflicts.UseTheirs
2434

2535
</details>
2636

27-
### ![es__ES](https://img.shields.io/badge/es__ES-%E2%88%9A-brightgreen)
37+
### ![es__ES](https://img.shields.io/badge/es__ES-98.67%25-yellow)
2838

29-
### ![fr__FR](https://img.shields.io/badge/fr__FR-%E2%88%9A-brightgreen)
39+
<details>
40+
<summary>Missing keys in es_ES.axaml</summary>
41+
42+
- Text.Configure.Git.PreferredMergeMode
43+
- Text.ConfirmEmptyCommit.Continue
44+
- Text.ConfirmEmptyCommit.NoLocalChanges
45+
- Text.ConfirmEmptyCommit.StageAllThenCommit
46+
- Text.ConfirmEmptyCommit.WithLocalChanges
47+
- Text.WorkingCopy.ConfirmCommitWithFilter
48+
- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
49+
- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
50+
- Text.WorkingCopy.Conflicts.UseMine
51+
- Text.WorkingCopy.Conflicts.UseTheirs
52+
53+
</details>
3054

31-
### ![it__IT](https://img.shields.io/badge/it__IT-99.73%25-yellow)
55+
### ![fr__FR](https://img.shields.io/badge/fr__FR-98.67%25-yellow)
56+
57+
<details>
58+
<summary>Missing keys in fr_FR.axaml</summary>
59+
60+
- Text.Configure.Git.PreferredMergeMode
61+
- Text.ConfirmEmptyCommit.Continue
62+
- Text.ConfirmEmptyCommit.NoLocalChanges
63+
- Text.ConfirmEmptyCommit.StageAllThenCommit
64+
- Text.ConfirmEmptyCommit.WithLocalChanges
65+
- Text.WorkingCopy.ConfirmCommitWithFilter
66+
- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
67+
- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
68+
- Text.WorkingCopy.Conflicts.UseMine
69+
- Text.WorkingCopy.Conflicts.UseTheirs
70+
71+
</details>
72+
73+
### ![it__IT](https://img.shields.io/badge/it__IT-98.40%25-yellow)
3274

3375
<details>
3476
<summary>Missing keys in it_IT.axaml</summary>
3577

78+
- Text.Configure.Git.PreferredMergeMode
79+
- Text.ConfirmEmptyCommit.Continue
80+
- Text.ConfirmEmptyCommit.NoLocalChanges
81+
- Text.ConfirmEmptyCommit.StageAllThenCommit
82+
- Text.ConfirmEmptyCommit.WithLocalChanges
3683
- Text.CopyFullPath
3784
- Text.Preferences.General.ShowTagsInGraph
85+
- Text.WorkingCopy.ConfirmCommitWithFilter
86+
- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
87+
- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
88+
- Text.WorkingCopy.Conflicts.UseMine
89+
- Text.WorkingCopy.Conflicts.UseTheirs
3890

3991
</details>
4092

41-
### ![ja__JP](https://img.shields.io/badge/ja__JP-99.73%25-yellow)
93+
### ![ja__JP](https://img.shields.io/badge/ja__JP-98.40%25-yellow)
4294

4395
<details>
4496
<summary>Missing keys in ja_JP.axaml</summary>
4597

98+
- Text.Configure.Git.PreferredMergeMode
99+
- Text.ConfirmEmptyCommit.Continue
100+
- Text.ConfirmEmptyCommit.NoLocalChanges
101+
- Text.ConfirmEmptyCommit.StageAllThenCommit
102+
- Text.ConfirmEmptyCommit.WithLocalChanges
46103
- Text.Repository.FilterCommits
47104
- Text.Repository.Tags.OrderByNameDes
105+
- Text.WorkingCopy.ConfirmCommitWithFilter
106+
- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
107+
- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
108+
- Text.WorkingCopy.Conflicts.UseMine
109+
- Text.WorkingCopy.Conflicts.UseTheirs
48110

49111
</details>
50112

51-
### ![pt__BR](https://img.shields.io/badge/pt__BR-90.98%25-yellow)
113+
### ![pt__BR](https://img.shields.io/badge/pt__BR-89.76%25-yellow)
52114

53115
<details>
54116
<summary>Missing keys in pt_BR.axaml</summary>
@@ -69,8 +131,13 @@ This document shows the translation status of each locale file in the repository
69131
- Text.CommitDetail.Info.Children
70132
- Text.Configure.CustomAction.Scope.Branch
71133
- Text.Configure.CustomAction.WaitForExit
134+
- Text.Configure.Git.PreferredMergeMode
72135
- Text.Configure.IssueTracker.AddSampleGiteeIssue
73136
- Text.Configure.IssueTracker.AddSampleGiteePullRequest
137+
- Text.ConfirmEmptyCommit.Continue
138+
- Text.ConfirmEmptyCommit.NoLocalChanges
139+
- Text.ConfirmEmptyCommit.StageAllThenCommit
140+
- Text.ConfirmEmptyCommit.WithLocalChanges
74141
- Text.CopyFullPath
75142
- Text.CreateBranch.Name.WarnSpace
76143
- Text.DeleteRepositoryNode.Path
@@ -119,12 +186,35 @@ This document shows the translation status of each locale file in the repository
119186
- Text.Stash.AutoRestore.Tip
120187
- Text.StashCM.SaveAsPatch
121188
- Text.WorkingCopy.CommitToEdit
189+
- Text.WorkingCopy.ConfirmCommitWithFilter
190+
- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
191+
- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
192+
- Text.WorkingCopy.Conflicts.UseMine
193+
- Text.WorkingCopy.Conflicts.UseTheirs
122194
- Text.WorkingCopy.SignOff
123195

124196
</details>
125197

126198
### ![ru__RU](https://img.shields.io/badge/ru__RU-%E2%88%9A-brightgreen)
127199

200+
### ![ta__IN](https://img.shields.io/badge/ta__IN-98.67%25-yellow)
201+
202+
<details>
203+
<summary>Missing keys in ta_IN.axaml</summary>
204+
205+
- Text.Configure.Git.PreferredMergeMode
206+
- Text.ConfirmEmptyCommit.Continue
207+
- Text.ConfirmEmptyCommit.NoLocalChanges
208+
- Text.ConfirmEmptyCommit.StageAllThenCommit
209+
- Text.ConfirmEmptyCommit.WithLocalChanges
210+
- Text.UpdateSubmodules.Target
211+
- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
212+
- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
213+
- Text.WorkingCopy.Conflicts.UseMine
214+
- Text.WorkingCopy.Conflicts.UseTheirs
215+
216+
</details>
217+
128218
### ![zh__CN](https://img.shields.io/badge/zh__CN-%E2%88%9A-brightgreen)
129219

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

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025.12
1+
2025.13

src/App.axaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<ResourceInclude x:Key="zh_TW" Source="/Resources/Locales/zh_TW.axaml"/>
2222
<ResourceInclude x:Key="es_ES" Source="/Resources/Locales/es_ES.axaml"/>
2323
<ResourceInclude x:Key="ja_JP" Source="/Resources/Locales/ja_JP.axaml"/>
24+
<ResourceInclude x:Key="ta_IN" Source="/Resources/Locales/ta_IN.axaml"/>
2425
</ResourceDictionary>
2526
</Application.Resources>
2627

src/Commands/MergeTool.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@ public static bool OpenForMerge(string repo, int toolType, string toolPath, stri
1313
cmd.Context = repo;
1414
cmd.RaiseError = true;
1515

16+
// NOTE: If no <file> names are specified, 'git mergetool' will run the merge tool program on every file with merge conflicts.
17+
var fileArg = string.IsNullOrEmpty(file) ? "" : $"\"{file}\"";
18+
1619
if (toolType == 0)
1720
{
18-
cmd.Args = $"mergetool \"{file}\"";
21+
cmd.Args = $"mergetool {fileArg}";
1922
return cmd.Exec();
2023
}
2124

@@ -32,7 +35,7 @@ public static bool OpenForMerge(string repo, int toolType, string toolPath, stri
3235
return false;
3336
}
3437

35-
cmd.Args = $"-c mergetool.sourcegit.cmd=\"\\\"{toolPath}\\\" {supported.Cmd}\" -c mergetool.writeToTemp=true -c mergetool.keepBackup=false -c mergetool.trustExitCode=true mergetool --tool=sourcegit \"{file}\"";
38+
cmd.Args = $"-c mergetool.sourcegit.cmd=\"\\\"{toolPath}\\\" {supported.Cmd}\" -c mergetool.writeToTemp=true -c mergetool.keepBackup=false -c mergetool.trustExitCode=true mergetool --tool=sourcegit {fileArg}";
3639
return cmd.Exec();
3740
}
3841

src/Commands/QueryStashChanges.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public partial class QueryStashChanges : Command
1414
[GeneratedRegex(@"^R[0-9]{0,4}\s+(.+)$")]
1515
private static partial Regex REG_RENAME_FORMAT();
1616

17-
public QueryStashChanges(string repo, string stash)
17+
public QueryStashChanges(string repo, string stash)
1818
{
1919
WorkingDirectory = repo;
2020
Context = repo;

src/Commands/Statistics.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public Statistics(string repo, int max)
88
{
99
WorkingDirectory = repo;
1010
Context = repo;
11-
Args = $"log --date-order --branches --remotes -{max} --format=%ct$%aN";
11+
Args = $"log --date-order --branches --remotes -{max} --format=%ct$%aN±%aE";
1212
}
1313

1414
public Models.Statistics Result()

src/Converters/StringConverters.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,8 @@ public object ConvertBack(object value, Type targetType, object parameter, Cultu
8181

8282
public static readonly FuncValueConverter<string, bool> ContainsSpaces =
8383
new FuncValueConverter<string, bool>(v => v != null && v.Contains(' '));
84+
85+
public static readonly FuncValueConverter<string, bool> IsNotNullOrWhitespace =
86+
new FuncValueConverter<string, bool>(v => v != null && v.Trim().Length > 0);
8487
}
8588
}

src/Models/Change.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class Change
3636
public string OriginalPath { get; set; } = "";
3737
public ChangeDataForAmend DataForAmend { get; set; } = null;
3838

39-
public bool IsConflit
39+
public bool IsConflict
4040
{
4141
get
4242
{

src/Models/ExternalMerger.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ static ExternalMerger()
4242
new ExternalMerger(7, "win_merge", "WinMerge", "WinMergeU.exe", "\"$MERGED\"", "-u -e -sw \"$LOCAL\" \"$REMOTE\""),
4343
new ExternalMerger(8, "codium", "VSCodium", "VSCodium.exe", "-n --wait \"$MERGED\"", "-n --wait --diff \"$LOCAL\" \"$REMOTE\""),
4444
new ExternalMerger(9, "p4merge", "P4Merge", "p4merge.exe", "-tw 4 \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"", "-tw 4 \"$LOCAL\" \"$REMOTE\""),
45+
new ExternalMerger(10, "plastic_merge", "Plastic SCM", "mergetool.exe", "-s=\"$REMOTE\" -b=\"$BASE\" -d=\"$LOCAL\" -r=\"$MERGED\" --automatic", "-s=\"$LOCAL\" -d=\"$REMOTE\""),
4546
};
4647
}
4748
else if (OperatingSystem.IsMacOS())

src/Models/Locales.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public class Locale
1818
new Locale("简体中文", "zh_CN"),
1919
new Locale("繁體中文", "zh_TW"),
2020
new Locale("日本語", "ja_JP"),
21+
new Locale("தமிழ் (Tamil)", "ta_IN"),
2122
};
2223

2324
public Locale(string name, string key)

src/Models/OpenAI.cs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -107,15 +107,7 @@ public string Name
107107
public string Server
108108
{
109109
get => _server;
110-
set
111-
{
112-
// migrate old server value
113-
if (!string.IsNullOrEmpty(value) && value.EndsWith("/chat/completions", StringComparison.Ordinal))
114-
{
115-
value = value.Substring(0, value.Length - "/chat/completions".Length);
116-
}
117-
SetProperty(ref _server, value);
118-
}
110+
set => SetProperty(ref _server, value);
119111
}
120112

121113
public string ApiKey

0 commit comments

Comments
 (0)
0