public override void Add(IEnumerable <string> assetPaths, bool includeMeta, bool wait = false)
        {
            if (!assetPaths.Any())
            {
                return;
            }

            foreach (var path in assetPaths)
            {
                if (!WiseSVNIntegration.CheckAndAddParentFolderIfNeeded(path, true))
                {
                    return;
                }
            }

            // Don't give versioned metas, as tortoiseSVN doesn't like it.
            var metas = assetPaths
                        .Select(path => path + ".meta")
                        .Where(path => WiseSVNIntegration.GetStatus(path).Status == VCFileStatus.Unversioned)
            ;

            var pathsArg = AssetPathsToContextPaths(includeMeta ? assetPaths.Concat(metas) : assetPaths, false);

            var result = ShellUtils.ExecuteCommand(ClientCommand, $"/command:add /path:\"{pathsArg}\"", wait);

            if (!string.IsNullOrEmpty(result.Error))
            {
                Debug.LogError($"SVN Error: {result.Error}");
            }
        }
        private static bool DiffAsset(string assetPath)
        {
            var statusData = WiseSVNIntegration.GetStatus(assetPath);

            var isModified = statusData.Status != VCFileStatus.Normal &&
                             statusData.Status != VCFileStatus.Unversioned &&
                             statusData.Status != VCFileStatus.Conflicted
            ;

            isModified |= statusData.PropertiesStatus == VCPropertiesStatus.Modified;

            if (isModified)
            {
                m_Integration?.DiffChanges(assetPath, false);
                return(true);
            }

            if (statusData.Status == VCFileStatus.Conflicted || statusData.PropertiesStatus == VCPropertiesStatus.Conflicted)
            {
                m_Integration?.Resolve(assetPath, false);
                return(true);
            }

            return(false);
        }