From 2ddc61e162434fc865fba443d58189b6d61d157e Mon Sep 17 00:00:00 2001 From: leo Date: Wed, 30 Jun 2021 15:09:18 +0800 Subject: [PATCH] feature: sync changes for git-worktrees --- src/Commands/LocalChanges.cs | 2 ++ src/Models/Watcher.cs | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) 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(); } }