Beispiel #1
0
        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);
            }
        }