public WorkspaceTransactionRemove(WorkspaceDirectoryInfo WorkspaceRootDir, StreamDirectoryInfo StreamRootDir, Dictionary <FileContentId, TrackedFileInfo> ContentIdToTrackedFile) { this.NewWorkspaceRootDir = new WorkspaceDirectoryInfo(WorkspaceRootDir.GetLocation()); this.ContentIdToTrackedFile = ContentIdToTrackedFile; using (ThreadPoolWorkQueue Queue = new ThreadPoolWorkQueue()) { Queue.Enqueue(() => Merge(WorkspaceRootDir, NewWorkspaceRootDir, StreamRootDir, Queue)); } }
public WorkspaceTransactionAdd(WorkspaceDirectoryInfo WorkspaceRootDir, StreamDirectoryInfo StreamRootDir, Dictionary <FileContentId, TrackedFileInfo> ContentIdToTrackedFile) { this.NewWorkspaceRootDir = new WorkspaceDirectoryInfo(WorkspaceRootDir.GetLocation()); this.ContentIdToTrackedFile = ContentIdToTrackedFile; List <WorkspaceFileInfo> WorkspaceFiles = WorkspaceRootDir.GetFiles(); foreach (WorkspaceFileInfo WorkspaceFile in WorkspaceFiles) { ContentIdToWorkspaceFile[WorkspaceFile.ContentId] = WorkspaceFile; } using (ThreadPoolWorkQueue Queue = new ThreadPoolWorkQueue()) { Queue.Enqueue(() => MergeDirectory(WorkspaceRootDir, NewWorkspaceRootDir, StreamRootDir, Queue)); } }