public void Rename_Match() { var renamer = new Renamer(); renamer.AddRule(new RenameRule("a(.)", "b$1")); var renamed = renamer.Process("blah"); Assert.AreEqual(renamed, "blbh"); }
public void Rename_MultipleMatches_FirstWins() { var renamer = new Renamer(); renamer.AddRule(new RenameRule("a", "b")); renamer.AddRule(new RenameRule("h", "x")); var renamed = renamer.Process("blah"); Assert.AreEqual(renamed, "blbh"); }
private static string PrintPossibleRename(string tag, Renamer renamer) { var renamed = renamer.Process(tag); if (renamed == tag) { return(tag); } else { return(String.Format("{0} (renamed to {1})", tag, renamed)); } }
private void CreateHeadOnlyCommit(string branch, BranchStreamCollection streams, FileCollection allFiles, string branchMergeFrom) { var headOnlyState = m_headOnlyState[branch]; var commitId = String.Format("headonly-{0}", branch); var commit = new Commit(commitId); var message = String.Format("Adding head-only files to {0}", m_branchRenamer.Process(branch)); foreach (var file in headOnlyState.LiveFiles.OrderBy(i => i, StringComparer.OrdinalIgnoreCase)) { var fileRevision = new FileRevision(allFiles[file], headOnlyState[file], mergepoint: Revision.Empty, time: DateTime.Now, author: "", commitId: commitId); fileRevision.AddMessage(message); commit.Add(fileRevision); } // check for a merge if (branchMergeFrom != null) { Commit mergeSource = streams.Head(branchMergeFrom); if (mergeSource.CommitId.StartsWith("headonly-")) { commit.MergeFrom = mergeSource; // check for deleted files var fileLookup = new HashSet <string>(commit.Select(r => r.File.Name)); foreach (var r in mergeSource) { if (!fileLookup.Contains(r.File.Name)) { var fileRevision = new FileRevision( file: r.File, revision: Revision.Empty, // a bit lazy, but I think we can get away with it mergepoint: Revision.Empty, time: DateTime.Now, author: "", commitId: commitId, isDead: true); fileRevision.AddMessage(message); commit.Add(fileRevision); } } } } if (commit.Any()) { m_log.WriteLine("Added commit {0}", commitId); streams.AppendCommit(commit); } }
public void Rename_NoMatch() { var renamer = new Renamer(); var renamed = renamer.Process("blah"); Assert.AreEqual(renamed, "blah"); }
private static string PrintPossibleRename(string tag, Renamer renamer) { var renamed = renamer.Process(tag); if (renamed == tag) return tag; else return String.Format("{0} (renamed to {1})", tag, renamed); }