/// <summary>
        /// GitHub does not allow empty directories to be checked in (nor directories that only contain empty directories, i.e. recursively-empty directories).
        /// Thus many times there are recursively empty unversioned diretories that will be flagged as an uncommitted change, but should not be considered as uncommitted simply because they can't be committed!
        /// </summary>
        public static IEnumerable <SvnStringPathStatus> GetUncommittedChangesWithGitHubExceptions(this SvnCommand svnCommand, DirectoryPath directoryPath)
        {
            var allUncommittedStatuses = svnCommand.GetAllUncommittedChanges(directoryPath);

            foreach (var uncommittedStatus in allUncommittedStatuses)
            {
                // Unless it's an unversioned, recursively empty directory!
                var isUnversioned = uncommittedStatus.ItemStatus == ItemStatus.Unversioned;
                if (isUnversioned)
                {
                    // Is the path a directory?
                    var isDirectory = PathUtilities.IsDirectory(uncommittedStatus.Path);
                    if (isDirectory)
                    {
                        // Is the directory recursively empty?
                        var isDirectoryRecursivelyEmpty = PathUtilities.IsDirectoryRecursivelyEmpty(uncommittedStatus.Path);
                        if (isDirectoryRecursivelyEmpty)
                        {
                            continue; // Nothing to see here.
                        }
                    }
                }

                yield return(uncommittedStatus);
            }
        }