Ejemplo n.º 1
0
		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");
		}
Ejemplo n.º 2
0
		public void Rename_Match()
		{
			var renamer = new Renamer();
			renamer.AddRule(new RenameRule("a(.)", "b$1"));
			var renamed = renamer.Process("blah");
			Assert.AreEqual(renamed, "blbh");
		}
Ejemplo n.º 3
0
		public Config(Switches switches)
		{
			m_switches = switches;
			m_debugLogDir = Path.Combine(Environment.CurrentDirectory, "DebugLogs");

			ObserveCollection(m_switches.GitConfigSet, x => AddGitConfigOption(x, add: false));
			ObserveCollection(m_switches.GitConfigAdd, x => AddGitConfigOption(x, add: true));

			TagMatcher = new InclusionMatcher(ignoreCase: false);
			TagRename = new Renamer();

			BranchMatcher = new InclusionMatcher(ignoreCase: false);
			BranchRename = new Renamer();
			BranchRename.AddRule(new RenameRule("^MAIN$", "master"));

			ObserveCollection(m_switches.IncludeFile, x => AddIncludeRule(m_fileMatcher, x, include: true));
			ObserveCollection(m_switches.ExcludeFile, x => AddIncludeRule(m_fileMatcher, x, include: false));
			ObserveCollection(m_switches.HeadOnly, x => AddIncludeRule(m_headOnlyMatcher, x, include:true));

			ObserveCollection(m_switches.IncludeTag, x => AddIncludeRule(TagMatcher, x, include: true));
			ObserveCollection(m_switches.ExcludeTag, x => AddIncludeRule(TagMatcher, x, include: false));
			ObserveCollection(m_switches.RenameTag, x => AddRenameRule(TagRename, x));

			ObserveCollection(m_switches.IncludeBranch, x => AddIncludeRule(BranchMatcher, x, include: true));
			ObserveCollection(m_switches.ExcludeBranch, x => AddIncludeRule(BranchMatcher, x, include: false));
			ObserveCollection(m_switches.RenameBranch, x => AddRenameRule(BranchRename, x));
		}
Ejemplo n.º 4
0
        public Config(Switches switches)
        {
            m_switches    = switches;
            m_debugLogDir = Path.Combine(Environment.CurrentDirectory, "DebugLogs");

            ObserveCollection(m_switches.GitConfigSet, x => AddGitConfigOption(x, add: false));
            ObserveCollection(m_switches.GitConfigAdd, x => AddGitConfigOption(x, add: true));

            TagMatcher = new InclusionMatcher(ignoreCase: false);
            TagRename  = new Renamer();

            BranchMatcher = new InclusionMatcher(ignoreCase: false);
            BranchRename  = new Renamer();
            BranchRename.AddRule(new RenameRule("^MAIN$", "master"));

            ObserveCollection(m_switches.IncludeFile, x => AddIncludeRule(m_fileMatcher, x, include: true));
            ObserveCollection(m_switches.ExcludeFile, x => AddIncludeRule(m_fileMatcher, x, include: false));
            ObserveCollection(m_switches.HeadOnly, x => AddIncludeRule(m_headOnlyMatcher, x, include: true));

            ObserveCollection(m_switches.IncludeTag, x => AddIncludeRule(TagMatcher, x, include: true));
            ObserveCollection(m_switches.ExcludeTag, x => AddIncludeRule(TagMatcher, x, include: false));
            ObserveCollection(m_switches.RenameTag, x => AddRenameRule(TagRename, x));

            ObserveCollection(m_switches.IncludeBranch, x => AddIncludeRule(BranchMatcher, x, include: true));
            ObserveCollection(m_switches.ExcludeBranch, x => AddIncludeRule(BranchMatcher, x, include: false));
            ObserveCollection(m_switches.RenameBranch, x => AddRenameRule(BranchRename, x));
        }
Ejemplo n.º 5
0
 private void AddRenameRule(Renamer renamer, string rule)
 {
     try
     {
         renamer.AddRule(RenameRule.Parse(rule));
     }
     catch (ArgumentException ae)
     {
         throw new CommandLineArgsException("Invalid rename rule: {0}", ae.Message);
     }
 }
Ejemplo n.º 6
0
		private void AddRenameRule(Renamer renamer, string rule)
		{
			try
			{
				renamer.AddRule(RenameRule.Parse(rule));
			}
			catch (ArgumentException ae)
			{
				throw new CommandLineArgsException("Invalid rename rule: {0}", ae.Message);
			}
		}