Compare commits

..

No commits in common. "3dcb32aec98cddce317314b9909980bf57310184" and "9d3a87469ff0236bdff60f554d33c534646ed120" have entirely different histories.

4 changed files with 38 additions and 50 deletions

View file

@ -1,5 +1,4 @@
using System;
using System.Threading.Tasks;
using System.Threading.Tasks;
namespace SourceGit.ViewModels
{
@ -8,11 +7,13 @@ namespace SourceGit.ViewModels
public string Source
{
get;
private set;
}
public string Into
{
get;
private set;
}
public Models.MergeMode SelectedMode
@ -26,7 +27,7 @@ namespace SourceGit.ViewModels
_repo = repo;
Source = source;
Into = into;
SelectedMode = AutoSelectMergeMode();
SelectedMode = Models.MergeMode.Supported[0];
View = new Views.Merge() { DataContext = this };
}
@ -43,21 +44,6 @@ namespace SourceGit.ViewModels
});
}
private Models.MergeMode AutoSelectMergeMode()
{
var config = new Commands.Config(_repo.FullPath).Get($"branch.{Into}.mergeoptions");
if (string.IsNullOrEmpty(config))
return Models.MergeMode.Supported[0];
if (config.Equals("--no-ff", StringComparison.Ordinal))
return Models.MergeMode.Supported[1];
if (config.Equals("--squash", StringComparison.Ordinal))
return Models.MergeMode.Supported[2];
if (config.Equals("--no-commit", StringComparison.Ordinal) || config.Equals("--no-ff --no-commit", StringComparison.Ordinal))
return Models.MergeMode.Supported[3];
return Models.MergeMode.Supported[0];
}
private readonly Repository _repo = null;
}
}

View file

@ -26,6 +26,7 @@ namespace SourceGit.ViewModels
public List<Models.Branch> LocalBranches
{
get;
private set;
}
public List<Models.Remote> Remotes
@ -156,7 +157,7 @@ namespace SourceGit.ViewModels
{
_repo.SetWatcherEnabled(false);
var remoteBranchName = _selectedRemoteBranch.Name;
var remoteBranchName = _selectedRemoteBranch.Name.Replace(" (new)", "");
ProgressDescription = $"Push {_selectedLocalBranch.Name} -> {_selectedRemote.Name}/{remoteBranchName} ...";
return Task.Run(() =>
@ -186,7 +187,7 @@ namespace SourceGit.ViewModels
branches.Add(branch);
}
// If selected local branch has upstream. Try to find it in current remote branches.
// If selected local branch has upstream branch. Try to find it in current remote branches.
if (!string.IsNullOrEmpty(_selectedLocalBranch.Upstream))
{
foreach (var branch in branches)
@ -200,7 +201,7 @@ namespace SourceGit.ViewModels
}
}
// Try to find a remote branch with the same name of selected local branch.
// Find best remote branch by name.
foreach (var branch in branches)
{
if (_selectedLocalBranch.Name == branch.Name)
@ -214,7 +215,7 @@ namespace SourceGit.ViewModels
// Add a fake new branch.
var fake = new Models.Branch()
{
Name = _selectedLocalBranch.Name,
Name = $"{_selectedLocalBranch.Name} (new)",
Remote = _selectedRemote.Name,
};
branches.Add(fake);
@ -225,7 +226,7 @@ namespace SourceGit.ViewModels
private readonly Repository _repo = null;
private Models.Branch _selectedLocalBranch = null;
private Models.Remote _selectedRemote = null;
private List<Models.Branch> _remoteBranches = [];
private List<Models.Branch> _remoteBranches = new List<Models.Branch>();
private Models.Branch _selectedRemoteBranch = null;
private bool _isSetTrackOptionVisible = false;
}

View file

@ -12,19 +12,10 @@
Classes="bold"
Text="{DynamicResource Text.Discard}"/>
<StackPanel Margin="0,6,0,0" Orientation="Horizontal">
<Path Width="14" Height="14"
Data="{StaticResource Icons.Error}"
Fill="DarkOrange"/>
<TextBlock Margin="4,0,0,0"
Text="{DynamicResource Text.Discard.Warning}"
Foreground="{DynamicResource Brush.FG2}"/>
</StackPanel>
<ContentControl Margin="0,16,0,8" Content="{Binding Mode}">
<ContentControl.DataTemplates>
<DataTemplate DataType="vm:DiscardAllMode">
<Grid RowDefinitions="32,32" ColumnDefinitions="120,*">
<Grid RowDefinitions="Auto,Auto,36" ColumnDefinitions="120,*">
<TextBlock Grid.Row="0" Grid.Column="0"
Margin="0,0,8,0"
HorizontalAlignment="Right"
@ -35,33 +26,51 @@
<CheckBox Grid.Row="1" Grid.Column="1"
Content="{DynamicResource Text.Discard.IncludeIgnored}"
IsChecked="{Binding IncludeIgnored, Mode=TwoWay}"/>
<StackPanel Grid.Row="2" Grid.Column="1" Orientation="Horizontal">
<Path Width="14" Height="14"
Data="{StaticResource Icons.Error}"
Fill="DarkOrange"/>
<TextBlock Margin="4,0,0,0"
Text="{DynamicResource Text.Discard.Warning}"
Foreground="{DynamicResource Brush.FG2}"/>
</StackPanel>
</Grid>
</DataTemplate>
<DataTemplate DataType="vm:DiscardSingleFile">
<Grid Height="32" ColumnDefinitions="120,*">
<TextBlock Grid.Column="0"
<Grid RowDefinitions="32,32" ColumnDefinitions="120,*">
<TextBlock Grid.Row="0" Grid.Column="0"
Margin="0,0,8,0"
HorizontalAlignment="Right"
Text="{DynamicResource Text.Discard.Changes}"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal">
<Path Width="12" Height="12" Data="{StaticResource Icons.File}"/>
<TextBlock Text="{Binding Path}" Margin="4,0,0,0"/>
</StackPanel>
<TextBlock Grid.Row="1" Grid.Column="1"
VerticalAlignment="Center"
Text="{DynamicResource Text.Discard.Warning}"
Foreground="{DynamicResource Brush.FG2}"/>
</Grid>
</DataTemplate>
<DataTemplate DataType="vm:DiscardMultipleFiles">
<Grid Height="32" ColumnDefinitions="120,*">
<TextBlock Grid.Column="0"
<Grid RowDefinitions="32,32" ColumnDefinitions="120,*">
<TextBlock Grid.Row="0" Grid.Column="0"
Margin="0,0,8,0"
HorizontalAlignment="Right"
Text="{DynamicResource Text.Discard.Changes}"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal">
<Path Width="12" Height="12" Data="{StaticResource Icons.File}"/>
<TextBlock Text="{Binding Count, Converter={x:Static c:StringConverters.FormatByResourceKey}, ConverterParameter='Discard.Total'}"
Margin="4,0,0,0"/>
<TextBlock Text="{Binding Count, Converter={x:Static c:StringConverters.FormatByResourceKey}, ConverterParameter='Discard.Total'}" Margin="4,0,0,0"/>
</StackPanel>
<TextBlock Grid.Row="1" Grid.Column="1"
VerticalAlignment="Center"
Text="{DynamicResource Text.Discard.Warning}"
Foreground="{DynamicResource Brush.FG2}"/>
</Grid>
</DataTemplate>
</ContentControl.DataTemplates>

View file

@ -65,15 +65,7 @@
<DataTemplate x:DataType="{x:Type m:Branch}">
<StackPanel Orientation="Horizontal" Height="20" VerticalAlignment="Center">
<Path Margin="0,0,8,0" Width="14" Height="14" Fill="{DynamicResource Brush.FG1}" Data="{StaticResource Icons.Branch}"/>
<TextBlock Text="{Binding Name}" VerticalAlignment="Center"/>
<Border Height="14"
CornerRadius="7"
Margin="4,0,0,0" Padding="6,0"
VerticalAlignment="Center"
Background="Green"
IsVisible="{Binding Head, Converter={x:Static StringConverters.IsNullOrEmpty}}">
<TextBlock Text="NEW" FontSize="9" FontFamily="{DynamicResource Fonts.Monospace}" Foreground="White" VerticalAlignment="Center"/>
</Border>
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>