コード例 #1
0
ファイル: CvsTest.cs プロジェクト: runt18/CvsntGitImporter
		public void GetCommit_DeadFile()
		{
			var f1 = new FileInfo("file1.txt");
			var commit = new Commit("c1").WithRevision(f1, "1.1", isDead: true);

			var repo = MockRepository.GenerateStub<ICvsRepository>();
			var cvs = new Cvs(repo, 1);

			var revisions = cvs.GetCommit(commit);
			Assert.IsTrue(revisions.Single().IsDead);
		}
コード例 #2
0
 public Importer(ILogger log, IConfig config, UserMap userMap, BranchStreamCollection branches,
                 IDictionary <string, Commit> tags, Cvs cvs)
 {
     m_log      = log;
     m_config   = config;
     m_userMap  = userMap;
     m_branches = branches;
     m_tags     = tags;
     m_cvs      = cvs;
     m_player   = new CommitPlayer(log, branches);
 }
コード例 #3
0
ファイル: Importer.cs プロジェクト: runt18/CvsntGitImporter
		public Importer(ILogger log, IConfig config, UserMap userMap, BranchStreamCollection branches,
				IDictionary<string, Commit> tags, Cvs cvs)
		{
			m_log = log;
			m_config = config;
			m_userMap = userMap;
			m_branches = branches;
			m_tags = tags;
			m_cvs = cvs;
			m_player = new CommitPlayer(log, branches);
		}
コード例 #4
0
ファイル: CvsTest.cs プロジェクト: runt18/CvsntGitImporter
		public void GetCommit_SingleFile()
		{
			var f1 = new FileInfo("file1.txt");
			var commit = new Commit("c1").WithRevision(f1, "1.1");

			var repo = MockRepository.GenerateStub<ICvsRepository>();
			repo.Stub(r => r.GetCvsRevision(null)).IgnoreArguments().Do((FileRevision f) => CreateMockContent(f));
			var cvs = new Cvs(repo, 1);

			var revisions = cvs.GetCommit(commit);
			Assert.IsTrue(Encoding.UTF8.GetString(revisions.Single().Data.Data) == "file1.txt r1.1");
		}
コード例 #5
0
        static int Main(string[] args)
        {
            try
            {
                var switches = new Switches();
                m_config = new Config(switches);
                m_config.ParseCommandLineSwitches(args);

                if (switches.Help)
                {
                    Console.Out.WriteLine(switches.GetHelpText());
                    return(0);
                }

                using (m_log = new Logger(m_config.DebugLogDir, debugEnabled: m_config.Debug))
                {
                    try
                    {
                        if (m_config.CreateCvsLog)
                        {
                            RunOperation("Download CVS Log", () => Cvs.DownloadCvsLog(m_config.CvsLogFileName, m_config.Sandbox));
                        }

                        RunOperation("Analysis", Analyse);

                        if (m_config.DoImport)
                        {
                            RunOperation("Import", Import);

                            if (m_config.Repack)
                            {
                                RunOperation("Repack", Repack);
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        m_log.WriteLine("{0}", e);
                        throw;
                    }
                }
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e);
                return(1);
            }

            return(0);
        }
コード例 #6
0
        private static void Import()
        {
            // do the import
            ICvsRepository repository = new CvsRepository(m_log, m_config.Sandbox);

            if (m_config.CvsCache != null)
            {
                repository = new CvsRepositoryCache(m_config.CvsCache, repository);
            }

            var cvs      = new Cvs(repository, m_config.CvsProcesses);
            var importer = new Importer(m_log, m_config, m_config.Users, m_streams, m_resolvedTags, cvs);

            importer.Import();
        }
コード例 #7
0
ファイル: CvsTest.cs プロジェクト: runt18/CvsntGitImporter
		public void GetCommit_MultipleFiles()
		{
			var files = new FileInfo[6];
			var commit = new Commit("c1");

			for (int i = 0; i < files.Length; i++)
			{
				files[i] = new FileInfo(String.Format("file{0}.txt", i));
				commit.WithRevision(files[i], "1.1");
			}

			var repo = MockRepository.GenerateStub<ICvsRepository>();
			repo.Stub(r => r.GetCvsRevision(null)).IgnoreArguments().Do((FileRevision f) => CreateMockContent(f));
			var cvs = new Cvs(repo, (uint)(files.Length - 1));

			var revisions = cvs.GetCommit(commit).ToList();
			Assert.AreEqual(revisions.Count, files.Length);
			Assert.IsTrue(revisions.Select(r => r.Name).OrderBy(i => i).SequenceEqual(files.Select(f => f.Name)));
		}
コード例 #8
0
ファイル: Program.cs プロジェクト: runt18/CvsntGitImporter
		private static void Import()
		{
			// do the import
			ICvsRepository repository = new CvsRepository(m_log, m_config.Sandbox);
			if (m_config.CvsCache != null)
				repository = new CvsRepositoryCache(m_config.CvsCache, repository);

			var cvs = new Cvs(repository, m_config.CvsProcesses);
			var importer = new Importer(m_log, m_config, m_config.Users, m_streams, m_resolvedTags, cvs);
			importer.Import();
		}