public VcsExporter(WorkQueue workQueue, Logger logger, RevisionAnalyzer revisionAnalyzer, ChangesetBuilder changesetBuilder, IVcsWrapper vcsWrapper, IDictionary <string, string> usersmap) : base(workQueue, logger) { this.database = revisionAnalyzer.Database; this.revisionAnalyzer = revisionAnalyzer; this.changesetBuilder = changesetBuilder; this.vcsWrapper = vcsWrapper; this.emailDictionary = new Dictionary <string, string>(); this.usernameDictionary = new Dictionary <string, string>(); Regex emailRegex = new Regex("(\\S.*?)\\s*<(.+)>"); foreach (var e in usersmap) { string key = e.Key.ToLower(); string email = e.Value.Trim(); if (email == "") { continue; } Match m = emailRegex.Match(email); if (m.Success) { this.usernameDictionary.Add(key, m.Groups[1].Value); email = m.Groups[2].Value; } this.emailDictionary.Add(key, email); } }
public GitExporter(WorkQueue workQueue, Logger logger, RevisionAnalyzer revisionAnalyzer, ChangesetBuilder changesetBuilder) : base(workQueue, logger) { this.database = revisionAnalyzer.Database; this.revisionAnalyzer = revisionAnalyzer; this.changesetBuilder = changesetBuilder; }
public GitExporter(WorkQueue workQueue, Logger logger, RevisionAnalyzer revisionAnalyzer, ChangesetBuilder changesetBuilder, string repoPath, FileAnalyzer fileAnalyzer, bool inheritProjectDir = false) : base(workQueue, logger) { this.database = revisionAnalyzer.Database; this.revisionAnalyzer = revisionAnalyzer; this.changesetBuilder = changesetBuilder; this.repoPath = repoPath; this.fileAnalyzer = fileAnalyzer; this.inheritProjectDir = inheritProjectDir; }
public GitExporter( WorkQueue workQueue, Logger logger, RevisionAnalyzer revisionAnalyzer, ChangesetBuilder changesetBuilder, IMessageDispatcher messageDispatcher) : base(workQueue, logger, messageDispatcher) { database = revisionAnalyzer.Database; this.revisionAnalyzer = revisionAnalyzer; this.changesetBuilder = changesetBuilder; this.messageDispatcher = messageDispatcher; }
public RunInfo( MainForm form, string outputDir, Logger commonLogger, VssDatabase db, Encoding selectedEncoding, Logger errorLogger, WorkQueue workQueue, Queue <ProjectInfo> toProcess) { this.form = form; this.outputDir = outputDir; this.processDir = Path.Combine(outputDir, PROCESS_DIR_NAME); this.logFile = Path.Combine(this.outputDir, PROCESS_DIR_NAME + ".log"); this.commonLogger = commonLogger; this.db = db; this.selectedEncoding = selectedEncoding; this.errorLogger = errorLogger; this.workQueue = workQueue; this.toProcess = toProcess; }
public RevisionAnalyzer(WorkQueue workQueue, Logger logger, VssDatabase database) : base(workQueue, logger) { this.database = database; }
private void goButton_Click(object sender, EventArgs e) { this.goButton.Enabled = false; this.projectsTreeControl.CanCheck = false; this.WriteSettings(); string outputDir; if (this.outDirTextBox.TextLength == 0) { outputDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory); } else { outputDir = this.outDirTextBox.Text; } if (!Directory.Exists(outputDir)) { Directory.CreateDirectory(outputDir); } string timeStr = DateTime.Now.ToString("yyyyMMddHHmmssfff"); string commonLogFile = Path.Combine(outputDir, $"_{timeStr}.log"); Logger commonLogger = this.OpenLog(commonLogFile); string errorLogFile = Path.Combine(outputDir, $"_{timeStr}_errors.log"); Logger errorLogger = this.OpenLog(errorLogFile); try { commonLogger.WriteLine("VSS2Git version {0}", Assembly.GetExecutingAssembly().GetName().Version); Encoding encoding = this.selectedEncoding; commonLogger.WriteLine("VSS encoding: {0} (CP: {1}, IANA: {2})", encoding.EncodingName, encoding.CodePage, encoding.WebName); commonLogger.WriteLine("Comment transcoding: {0}", this.transcodeCheckBox.Checked ? "enabled" : "disabled"); commonLogger.WriteLine("Ignore errors: {0}", this.ignoreErrorsCheckBox.Checked ? "enabled" : "disabled"); List <ProjectInfo> projects = this.projectsTreeControl.GetSelectedProjects(); Queue <ProjectInfo> toProcess = new Queue <ProjectInfo>(); VssDatabase db = null; foreach (ProjectInfo projectInfo in projects) { string projPath = GetProjectPath(outputDir, projectInfo.VssKey, true); if (!Directory.Exists(projPath)) { db = projectInfo.Project.Database; toProcess.Enqueue(projectInfo); } } this.runInfo = new RunInfo(this, outputDir, commonLogger, db, encoding, errorLogger, this.workQueue, toProcess); this.statusTimer.Enabled = true; } catch (Exception ex) { string msg = $"GLOBAL ERROR: {ex}"; errorLogger.WriteLine(msg); commonLogger.WriteLine(msg); this.ShowException(ex); } }
public RevisionAnalyzer(WorkQueue workQueue, Logger logger, VssDatabase database, IMessageDispatcher messageDispatcher) : base(workQueue, logger, messageDispatcher) { this.Database = database; }