Skip to content

Commit ab66a05

Browse files
committed
Capture local unstaged changes
1 parent dc3bbec commit ab66a05

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/tooling/docs-builder/Cli/DiffCommands.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public async Task<int> ValidateRedirects([Argument] string? path = null, Cancel
5757
var tracker = new LocalGitRepositoryTracker(collector, root);
5858
var changed = tracker.GetChangedFiles(path);
5959

60-
foreach (var notFound in changed.Where(c => c.ChangeType is GitChangeType.Deleted or GitChangeType.Renamed
60+
foreach (var notFound in changed.DistinctBy(c => c.FilePath).Where(c => c.ChangeType is GitChangeType.Deleted or GitChangeType.Renamed
6161
&& !redirects.ContainsKey(c is RenamedGitChange renamed ? renamed.OldFilePath : c.FilePath)))
6262
{
6363
if (notFound is RenamedGitChange renamed)

src/tooling/docs-builder/Tracking/LocalGitRepositoryTracker.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@ public IEnumerable<GitChange> GetChangedFiles(string lookupPath)
1818
var defaultBranch = GetDefaultBranch();
1919
var commitChanges = CaptureMultiple("git", "diff", "--name-status", $"{defaultBranch}...HEAD", "--", $"./{lookupPath}");
2020
var localChanges = CaptureMultiple("git", "status", "--porcelain");
21+
_ = Capture("git", "stash", "push", "--", $"./{lookupPath}");
22+
var localUnstagedChanges = CaptureMultiple("git", "stash", "show", "--name-status", "-u");
23+
_ = Capture("git", "stash", "pop");
2124

22-
return [.. GetCommitChanges(commitChanges), .. GetLocalChanges(localChanges)];
25+
return [.. GetCommitChanges(commitChanges), .. GetLocalChanges(localChanges), .. GetCommitChanges(localUnstagedChanges)];
2326
}
2427

2528
private string GetDefaultBranch()

0 commit comments

Comments
 (0)