static AssetStatus CalculateStatus( string fullPath, string wkPath, IgnoredFilesFilter ignoredFilter) { if (!IsOnWorkspace(fullPath, wkPath)) { return(AssetStatus.None); } WorkspaceTreeNode treeNode = Plastic.API.GetWorkspaceTreeNode(fullPath); if (CheckWorkspaceTreeNodeStatus.IsPrivate(treeNode)) { return(ignoredFilter.IsIgnored(fullPath) ? AssetStatus.Ignored : AssetStatus.Private); } if (CheckWorkspaceTreeNodeStatus.IsAdded(treeNode)) { return(AssetStatus.Added); } AssetStatus result = AssetStatus.Controlled; if (CheckWorkspaceTreeNodeStatus.IsCheckedOut(treeNode) && !CheckWorkspaceTreeNodeStatus.IsDirectory(treeNode)) { result |= AssetStatus.Checkout; } return(result); }
static void AddIfNotControlled( string[] paths, IPlasticAPI api) { List <string> fullPaths = new List <string>(); IgnoredFilesFilter ignoredFilter = new IgnoredFilesFilter( GlobalConfig.Instance); foreach (string path in paths) { string fullPath = Path.GetFullPath(path); string fullPathMeta = MetaPath.GetMetaPath(fullPath); if (api.GetWorkspaceFromPath(fullPath) == null) { return; } if (api.GetWorkspaceTreeNode(fullPath) == null && !ignoredFilter.IsIgnored(fullPath)) { fullPaths.Add(fullPath); } if (File.Exists(fullPathMeta) && api.GetWorkspaceTreeNode(fullPathMeta) == null && !ignoredFilter.IsIgnored(fullPath)) { fullPaths.Add(fullPathMeta); } } if (fullPaths.Count == 0) { return; } IList checkouts; api.Add( fullPaths.ToArray(), GetDefaultAddOptions(), out checkouts); }