From fa004ce31b117abe7799967f7b64cd4c22395d23 Mon Sep 17 00:00:00 2001 From: leo Date: Sun, 1 Jun 2025 11:19:41 +0800 Subject: [PATCH] enhance: unstaged renamed file should use `git restore --staged ` instead of `git restore --staged ` Signed-off-by: leo --- src/Commands/Restore.cs | 2 +- src/ViewModels/WorkingCopy.cs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Commands/Restore.cs b/src/Commands/Restore.cs index 7f42ab91..be0179e9 100644 --- a/src/Commands/Restore.cs +++ b/src/Commands/Restore.cs @@ -21,7 +21,7 @@ namespace SourceGit.Commands WorkingDirectory = repo; Context = repo; - StringBuilder builder = new StringBuilder(); + var builder = new StringBuilder(); builder.Append("restore "); if (!string.IsNullOrEmpty(extra)) builder.Append(extra).Append(" "); diff --git a/src/ViewModels/WorkingCopy.cs b/src/ViewModels/WorkingCopy.cs index 146ea81d..38cc0153 100644 --- a/src/ViewModels/WorkingCopy.cs +++ b/src/ViewModels/WorkingCopy.cs @@ -1675,7 +1675,11 @@ namespace SourceGit.ViewModels var step = changes.GetRange(i, Math.Min(10, count - i)); var files = new List(); foreach (var c in step) + { files.Add(c.Path); + if (c.Index == Models.ChangeState.Renamed) + files.Add(c.OriginalPath); + } await Task.Run(() => new Commands.Restore(_repo.FullPath, files, "--staged").Use(log).Exec()); }