private void GetStatus(string dir) { Write($"{dir.Substring(dir.LastIndexOf("\\", StringComparison.Ordinal) + 1)}: "); var git = Git.Open(new FilePath(dir), FS.Detect(false)); var repository = git.GetRepository(); repository.ScanForRepoChanges(); var status = git.Status().Call(); var mods = status.GetModified(); var adds = status.GetAdded(); var rem = status.GetRemoved(); var changed = status.GetChanged(); var untracked = status.GetUntracked(); var missing = status.GetMissing(); var outOfDate = mods.Any() || adds.Any() || rem.Any() || changed.Any() || missing.Any() || untracked.Any(); WriteLine(outOfDate ? $"\x1b[2m\x1b[91mChanges.\x1b[0m" : $"\x1b[2mClean.\x1b[0m"); if (outOfDate && _verbose) { Info(dir, "Modified", mods); Info(dir, "Added", adds); Info(dir, "Removed", rem); Info(dir, "Changed", changed); Info(dir, "Deleted", missing); Info(dir, "Untracked", untracked); } }