mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-12-22 20:37:19 -08:00
fix<WorkingCopyChanges>: fix that discard all unstaged changes will drop changes staged
This commit is contained in:
parent
0966baa1d8
commit
ed26256c90
3 changed files with 17 additions and 5 deletions
|
@ -10,7 +10,6 @@ using System.Windows.Controls.Primitives;
|
|||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Shell;
|
||||
|
||||
namespace SourceGit.Views.Widgets {
|
||||
|
||||
|
|
|
@ -97,6 +97,14 @@ namespace SourceGit.Views.Widgets {
|
|||
if (watcher != null) watcher.RefreshWC();
|
||||
}
|
||||
|
||||
public void Discard(List<Models.Change> changes) {
|
||||
if (changes.Count >= unstagedContainer.Changes.Count && stagedContainer.Changes.Count == 0) {
|
||||
new Popups.Discard(repo.Path, null).Show();
|
||||
} else {
|
||||
new Popups.Discard(repo.Path, changes).Show();
|
||||
}
|
||||
}
|
||||
|
||||
#region STAGE_UNSTAGE
|
||||
private void ViewAssumeUnchanged(object sender, RoutedEventArgs e) {
|
||||
var dialog = new AssumeUnchanged(repo.Path);
|
||||
|
|
|
@ -8,6 +8,7 @@ using System.Threading.Tasks;
|
|||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace SourceGit.Views.Widgets {
|
||||
/// <summary>
|
||||
|
@ -385,10 +386,14 @@ namespace SourceGit.Views.Widgets {
|
|||
}
|
||||
|
||||
private void Disard(List<Models.Change> changes) {
|
||||
if (changes.Count >= Changes.Count) {
|
||||
new Popups.Discard(repo, null).Show();
|
||||
} else {
|
||||
new Popups.Discard(repo, changes).Show();
|
||||
DependencyObject parent = VisualTreeHelper.GetParent(this);
|
||||
while (parent != null) {
|
||||
if (parent is WorkingCopy wc) {
|
||||
wc.Discard(changes);
|
||||
return;
|
||||
}
|
||||
|
||||
parent = VisualTreeHelper.GetParent(parent);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue