Skip to content

Commit 20b45a1

Browse files
committed
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)
1 parent 4612cec commit 20b45a1

File tree

7 files changed

+31
-42
lines changed

7 files changed

+31
-42
lines changed

src/Models/DiffOption.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public DiffOption(Commit commit, string file)
8080
/// <param name="change"></param>
8181
public DiffOption(string baseRevision, string targetRevision, Change change)
8282
{
83-
_revisions.Add(baseRevision);
83+
_revisions.Add(string.IsNullOrEmpty(baseRevision) ? "-R" : baseRevision);
8484
_revisions.Add(targetRevision);
8585
_path = change.Path;
8686
_orgPath = change.OriginalPath;

src/Models/Null.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace SourceGit.Models
2+
{
3+
public class Null
4+
{
5+
}
6+
}

src/SourceGit.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
<TrimmerRootAssembly Include="Avalonia.Themes.Fluent" />
5353
</ItemGroup>
5454

55-
<ItemGroup>
55+
<ItemGroup Condition="'$(Configuration)' == 'Release'">
5656
<LinkerArg Include="-mmacosx-version-min=11.0" Condition="$([MSBuild]::IsOSPlatform('OSX'))"/>
5757
</ItemGroup>
58-
</Project>
58+
</Project>

src/ViewModels/Discard.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public Discard(Repository repo)
1515
{
1616
_repo = repo;
1717

18-
Mode = null;
18+
Mode = new Models.Null();
1919
View = new Views.Discard { DataContext = this };
2020
}
2121

@@ -26,7 +26,7 @@ public Discard(Repository repo, List<Models.Change> changes, bool isUnstaged)
2626
_isUnstaged = isUnstaged;
2727

2828
if (_changes == null)
29-
Mode = null;
29+
Mode = new Models.Null();
3030
else if (_changes.Count == 1)
3131
Mode = _changes[0].Path;
3232
else

src/ViewModels/RevisionCompare.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ public DiffContext DiffContext
7171
public RevisionCompare(string repo, Models.Commit startPoint, Models.Commit endPoint)
7272
{
7373
_repo = repo;
74-
_startPoint = startPoint;
75-
_endPoint = endPoint;
74+
_startPoint = (object)startPoint ?? new Models.Null();
75+
_endPoint = (object)endPoint ?? new Models.Null();
7676

7777
Task.Run(Refresh);
7878
}

src/Views/Discard.axaml

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5+
xmlns:m="using:SourceGit.Models"
56
xmlns:vm="using:SourceGit.ViewModels"
67
xmlns:c="using:SourceGit.Converters"
78
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="450"
@@ -14,19 +15,15 @@
1415

1516
<Grid Margin="0,16,0,8" RowDefinitions="32,32" ColumnDefinitions="120,*">
1617
<TextBlock Grid.Row="0" Grid.Column="0" Margin="0,0,8,0" HorizontalAlignment="Right" Text="{DynamicResource Text.Discard.Changes}"/>
17-
<ContentControl Grid.Row="0" Grid.Column="1">
18-
<ContentControl.Content>
19-
<Binding Path="Mode">
20-
<Binding.TargetNullValue>
21-
<StackPanel Orientation="Horizontal">
22-
<Path Width="12" Height="12" Margin="0,2,0,0" Data="{StaticResource Icons.Folder.Open}"/>
23-
<TextBlock Text="{DynamicResource Text.Discard.All}" Margin="4,0,0,0"/>
24-
</StackPanel>
25-
</Binding.TargetNullValue>
26-
</Binding>
27-
</ContentControl.Content>
28-
18+
<ContentControl Grid.Row="0" Grid.Column="1" Content="{Binding Mode}">
2919
<ContentControl.DataTemplates>
20+
<DataTemplate DataType="m:Null">
21+
<StackPanel Orientation="Horizontal">
22+
<Path Width="12" Height="12" Margin="0,2,0,0" Data="{StaticResource Icons.Folder.Open}"/>
23+
<TextBlock Text="{DynamicResource Text.Discard.All}" Margin="4,0,0,0"/>
24+
</StackPanel>
25+
</DataTemplate>
26+
3027
<DataTemplate DataType="x:String">
3128
<StackPanel Orientation="Horizontal">
3229
<Path Width="12" Height="12" Data="{StaticResource Icons.File}"/>
@@ -37,7 +34,7 @@
3734
<DataTemplate DataType="x:Int32">
3835
<StackPanel Orientation="Horizontal">
3936
<Path Width="12" Height="12" Data="{StaticResource Icons.File}"/>
40-
<TextBlock Text="{Binding, Converter={x:Static c:StringConverters.FormatByResourceKey}, ConverterParameter='Discard.Total'}" Margin="4,0,0,0"/>
37+
<TextBlock Text="{Binding Converter={x:Static c:StringConverters.FormatByResourceKey}, ConverterParameter='Discard.Total'}" Margin="4,0,0,0"/>
4138
</StackPanel>
4239
</DataTemplate>
4340
</ContentControl.DataTemplates>

src/Views/RevisionCompare.axaml

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@
1111
x:DataType="vm:RevisionCompare"
1212
Background="{DynamicResource Brush.Window}">
1313
<UserControl.DataTemplates>
14+
<DataTemplate DataType="m:Null">
15+
<Border HorizontalAlignment="Center" VerticalAlignment="Center" Background="{DynamicResource Brush.Accent}" CornerRadius="4">
16+
<TextBlock Text="{DynamicResource Text.Worktree}" Classes="monospace" Margin="4,2" Foreground="#FFDDDDDD"/>
17+
</Border>
18+
</DataTemplate>
19+
1420
<DataTemplate DataType="m:Commit">
1521
<Grid RowDefinitions="Auto,*">
1622
<Grid Grid.Row="0" ColumnDefinitions="Auto,*,Auto,Auto,Auto">
@@ -33,17 +39,7 @@
3339
<Grid Grid.Row="0" Margin="48,0,48,4" ColumnDefinitions="*,48,*">
3440
<!-- Base Revision -->
3541
<Border Grid.Column="0" BorderBrush="{DynamicResource Brush.Border2}" BorderThickness="1" Background="{DynamicResource Brush.Contents}" CornerRadius="4" Padding="4">
36-
<ContentControl>
37-
<ContentControl.Content>
38-
<Binding Path="StartPoint">
39-
<Binding.TargetNullValue>
40-
<Border HorizontalAlignment="Center" VerticalAlignment="Center" Background="{DynamicResource Brush.Accent}" CornerRadius="4">
41-
<TextBlock Text="{DynamicResource Text.Worktree}" Classes="monospace" Margin="4,2" Foreground="#FFDDDDDD"/>
42-
</Border>
43-
</Binding.TargetNullValue>
44-
</Binding>
45-
</ContentControl.Content>
46-
</ContentControl>
42+
<ContentControl Content="{Binding StartPoint}"/>
4743
</Border>
4844

4945
<!-- Swap Button -->
@@ -53,17 +49,7 @@
5349

5450
<!-- Right Revision -->
5551
<Border Grid.Column="2" BorderBrush="{DynamicResource Brush.Border2}" BorderThickness="1" Background="{DynamicResource Brush.Contents}" CornerRadius="4" Padding="4">
56-
<ContentControl>
57-
<ContentControl.Content>
58-
<Binding Path="EndPoint">
59-
<Binding.TargetNullValue>
60-
<Border HorizontalAlignment="Center" VerticalAlignment="Center" Background="{DynamicResource Brush.Accent}" CornerRadius="4">
61-
<TextBlock Text="{DynamicResource Text.Worktree}" Classes="monospace" Margin="4,2" Foreground="#FFDDDDDD"/>
62-
</Border>
63-
</Binding.TargetNullValue>
64-
</Binding>
65-
</ContentControl.Content>
66-
</ContentControl>
52+
<ContentControl Content="{Binding EndPoint}"/>
6753
</Border>
6854
</Grid>
6955

0 commit comments

Comments
 (0)