public int Commit()
        {
            var changes = DetectChanges();

            Console.WriteLine("Merging Vault Lib change set with ours as sometimes files after edit are renegades, sometimes edited...");
            changes.AddRange(ServerOperations.ProcessCommandListChangeSet(new[] { _repoFolder }));

            changes = RemoveDuplicatesFromChangeSet(changes);

            Console.WriteLine($"[{nameof(Commit)}] Attempting to commit the following changes: {changes}");
            var attemptedCount = changes.Count;

            ServerOperations.ProcessCommandCommit(changes, UnchangedHandler.UndoCheckout, false, LocalCopyType.Leave, false, false, out var csicRemove);
            if (csicRemove != null && csicRemove.Count > 0)
            {
                Console.Error.WriteLine($"[{nameof(Commit)}] Failed to commit the following items: {string.Join(", ", csicRemove)}");
                return(attemptedCount - csicRemove.Count);
            }

            return(attemptedCount);
        }