diff --git a/src/Commands/LocalChanges.cs b/src/Commands/LocalChanges.cs index 68f3e8f8..d89dda9c 100644 --- a/src/Commands/LocalChanges.cs +++ b/src/Commands/LocalChanges.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Text.RegularExpressions; @@ -22,6 +23,7 @@ namespace SourceGit.Commands { public override void OnReadline(string line) { var match = REG_FORMAT.Match(line); if (!match.Success) return; + if (line.EndsWith("/", StringComparison.Ordinal)) return; // Ignore changes with git-worktree var change = new Models.Change() { Path = match.Groups[2].Value }; var status = match.Groups[1].Value; diff --git a/src/Models/Watcher.cs b/src/Models/Watcher.cs index 2c668416..1aadfe81 100644 --- a/src/Models/Watcher.cs +++ b/src/Models/Watcher.cs @@ -177,9 +177,10 @@ namespace SourceGit.Models { updateStashes = DateTime.Now.AddSeconds(.5).ToFileTime(); } else if (e.Name.Equals("HEAD", StringComparison.Ordinal) || e.Name.StartsWith("refs\\heads\\", StringComparison.Ordinal) || - e.Name.StartsWith("refs\\remotes\\", StringComparison.Ordinal)) { + e.Name.StartsWith("refs\\remotes\\", StringComparison.Ordinal) || + e.Name.StartsWith("worktrees\\")) { updateBranch = DateTime.Now.AddSeconds(.5).ToFileTime(); - } else if (e.Name.StartsWith("objects\\") || e.Name.Equals("index", StringComparison.Ordinal)) { + } else if (e.Name.StartsWith("objects\\", StringComparison.Ordinal) || e.Name.Equals("index", StringComparison.Ordinal)) { updateWC = DateTime.Now.AddSeconds(.5).ToFileTime(); } }