enhance: ignore untracked files when calculate local changes in checkout/create branch/pull (#316)

This commit is contained in:
leo 2024-08-07 15:38:18 +08:00
parent 71c2ad989b
commit 8c16ded6bd
No known key found for this signature in database
5 changed files with 11 additions and 14 deletions

View file

@ -28,11 +28,11 @@ namespace SourceGit.ViewModels
_repo.SetWatcherEnabled(false);
ProgressDescription = $"Checkout '{Branch}' ...";
var hasLocalChanges = _repo.WorkingCopyChangesCount > 0;
return Task.Run(() =>
{
var changes = new Commands.QueryLocalChanges(_repo.FullPath, false).Result();
var needPopStash = false;
if (hasLocalChanges)
if (changes.Count > 0)
{
if (PreAction == Models.DealWithLocalChanges.StashAndReaply)
{

View file

@ -10,11 +10,6 @@ namespace SourceGit.ViewModels
private set;
}
public bool HasLocalChanges
{
get => _repo.WorkingCopyChangesCount > 0;
}
public bool AutoStash
{
get => _autoStash;
@ -35,8 +30,9 @@ namespace SourceGit.ViewModels
return Task.Run(() =>
{
var changes = new Commands.QueryLocalChanges(_repo.FullPath, false).Result();
var needPopStash = false;
if (HasLocalChanges)
if (changes.Count > 0)
{
if (AutoStash)
{

View file

@ -86,8 +86,9 @@ namespace SourceGit.ViewModels
{
if (CheckoutAfterCreated)
{
bool needPopStash = false;
if (_repo.WorkingCopyChangesCount > 0)
var changes = new Commands.QueryLocalChanges(_repo.FullPath, false).Result();
var needPopStash = false;
if (changes.Count > 0)
{
if (PreAction == Models.DealWithLocalChanges.StashAndReaply)
{

View file

@ -129,8 +129,9 @@ namespace SourceGit.ViewModels
return Task.Run(() =>
{
var changes = new Commands.QueryLocalChanges(_repo.FullPath, false).Result();
var needPopStash = false;
if (_repo.WorkingCopyChangesCount > 0)
if (changes.Count > 0)
{
if (PreAction == Models.DealWithLocalChanges.StashAndReaply)
{

View file

@ -26,9 +26,8 @@
<TextBlock Grid.Row="1" Grid.Column="0"
HorizontalAlignment="Right" VerticalAlignment="Center"
Margin="0,0,8,0"
Text="{DynamicResource Text.Checkout.LocalChanges}"
IsVisible="{Binding HasLocalChanges}"/>
<StackPanel Grid.Row="1" Grid.Column="1" Height="32" Orientation="Horizontal" IsVisible="{Binding HasLocalChanges}">
Text="{DynamicResource Text.Checkout.LocalChanges}"/>
<StackPanel Grid.Row="1" Grid.Column="1" Height="32" Orientation="Horizontal">
<RadioButton Content="{DynamicResource Text.Checkout.LocalChanges.StashAndReply}"
GroupName="LocalChanges"
IsChecked="{Binding AutoStash, Mode=TwoWay}" />