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");
		}
Exemple #3
0
        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");
		}
Exemple #6
0
		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);
		}