public virtual void RetrieveSource(IPackageTree packageTree) { if (downloadedPackages.ContainsKey(packageTree.Name)) { return; } if (!ShouldUpdate(packageTree)) { downloadedPackages.Add(packageTree.Name, packageTree.Name); return; } var revisionData = packageTree.GetRevisionData(); Initialise(packageTree); SetMonitor(packageTree.WorkingDirectory.FullName); Thread monitoringThread = StartMonitoring(); var revision = Download(packageTree, packageTree.WorkingDirectory, revisionData.Operation()); StopMonitoring(monitoringThread); RecordCurrentRevision(packageTree, revision); }
public virtual bool ShouldUpdate(IPackageTree packageTree) { string currentRevision = packageTree.GetRevisionData().Revision; if (currentRevision == "0") { log.InfoFormat("Empty Repository"); return(true); } return(ShouldUpdate(currentRevision, packageTree)); }
protected virtual void RecordCurrentRevision(IPackageTree tree, string revision) { tree.GetRevisionData().RecordRevision(tree, revision); }
protected override void Because() { revisionData = package.GetRevisionData(); }