private void RecursiveScan(string relDir, ProcessSvnFileCallback processFileCallback, ProcessSvnFileCallback processDirCallback) { string absDir = Path.Combine(_path, relDir); string svnDir = Path.Combine(absDir, SvnDirName); if (!Directory.Exists(svnDir)) { return; } WCEntries wce = WCEntries.FromFile(Path.Combine(svnDir, _svnEntriesFile)); foreach (Entry e in wce.Entries) { if (e.Kind == EntryKind.file) { string propsFile = Path.Combine(absDir, string.Format( _svnPropsFileTemplate, e.Name)); IDictionary props = new Hashtable(); if (File.Exists(propsFile)) { FillFromHashToDisk(propsFile, props); } processFileCallback(Path.Combine(relDir, e.Name), props); } else if ((e.Kind == EntryKind.dir) && (e.Name != "")) { string relDirName = Path.Combine(relDir, e.Name); if (processDirCallback != null) { IDictionary dirProps = new Hashtable(); string dps = Path.Combine(absDir, _svnDirPropsFile); if (File.Exists(dps)) { FillFromHashToDisk(dps, dirProps); } processDirCallback(relDirName, dirProps); } RecursiveScan(relDirName, processFileCallback, processDirCallback); } } }
public void Scan(ProcessSvnFileCallback processFileCallback, ProcessSvnFileCallback processDirCallback) { RecursiveScan("", processFileCallback, processDirCallback); }
public void Scan(ProcessSvnFileCallback processFileCallback) { Scan(processFileCallback, null); }