Example #1
0
        public void StartedWithNoRepository()
        {
            var dir = Path.Combine(DirTestRoot, "SomeDir");

            Directory.CreateDirectory(dir);
            _sut = new GitTracker(dir);
            _sut.StartTracking();

            AssertInit(Path.Combine(DirTestRoot, "SomeDir"), null);
        }
Example #2
0
        public void GitFolderLivesInParentFolder()
        {
            var dir = Path.Combine(DirTestRoot, "a", "b", "c");
            var git = Path.Combine(DirTestRoot, ".git");

            Directory.CreateDirectory(dir);
            Repository.Init(DirTestRoot);

            _sut = new GitTracker(dir);
            _sut.StartTracking();
            AssertInit(dir, git);
        }
Example #3
0
        public void StartedOnEmptyRepository()
        {
            var dir = Path.Combine(DirTestRoot, "SomeDir");
            var git = Path.Combine(dir, ".git");

            Repository.Init(dir);
            _sut = new GitTracker(dir);
            _sut.StartTracking();
            AssertInit(dir, Path.Combine(dir, ".git"));

            Assert.True(File.Exists(Path.Combine(git, "index")));
            Assert.True(Directory.Exists(Path.Combine(git, "logs")));
            Assert.True(File.Exists(Path.Combine(git, "logs", "HEAD")));
            Assert.True(Directory.Exists(Path.Combine(git, "refs")));
        }
Example #4
0
        private static void Main2(string[] args)
        {
            var tracker = new GitTracker(NoRepo);

            tracker.StartTracking();

            var tracker2 = new GitTracker(Repo1);

            tracker2.StartTracking();

            while (!Console.ReadLine().Equals("quit"))
            {
            }
            tracker.Dispose();
            tracker2.Dispose();
        }
Example #5
0
        public void StartedOnEstablishedRepository()
        {
            var dir = Path.Combine(DirTestRoot, "SomeDir");

            Repository.Init(dir);
            var repo = new Repository(dir);

            var file = Path.Combine(dir, "a.txt");

            File.WriteAllText(file, "...");
            Commands.Stage(repo, "a.txt");
            var sig = new Signature("Test", "[email protected]", DateTimeOffset.Now);

            repo.Commit("commit msg", sig, sig, new CommitOptions {
                AllowEmptyCommit = false
            });

            _sut = new GitTracker(dir);
            _sut.StartTracking();
            AssertInit(dir, Path.Combine(dir, ".git"));
        }
Example #6
0
        public void RemovalAndReaddition_Simple()
        {
            var dir = Path.Combine(DirTestRoot, "SomeDir");
            var git = Path.Combine(dir, ".git");

            Repository.Init(dir);

            _sut = new GitTracker(dir);
            _sut.StartTracking();
            AssertInit(dir, git);

            DeleteDirectory(git);

            Thread.Sleep(250);
            AssertInit(dir, null);

            Repository.Init(dir);

            Thread.Sleep(1000);
            AssertInit(dir, git);
        }
Example #7
0
        public void StartedOnFutureRepository()
        {
            var dir = Path.Combine(DirTestRoot, "SomeDir");

            Directory.CreateDirectory(dir);
            _sut = new GitTracker(dir);
            _sut.StartTracking();
            AssertInit(dir, null);


            var hasNotification = false;

            _sut.GitEnableChanged += () => hasNotification = true;

            Assert.IsFalse(hasNotification);
            Repository.Init(dir);

            // wait for watcher to finish
            Thread.Sleep(500);

            Assert.IsTrue(hasNotification);
            AssertInit(dir, Path.Combine(dir, ".git"));
        }
Example #8
0
        public void RemovalOfRepository()
        {
            var dir = Path.Combine(DirTestRoot, "SomeDir");
            var git = Path.Combine(dir, ".git");

            Directory.CreateDirectory(dir);
            Repository.Init(dir);

            _sut = new GitTracker(dir);
            _sut.StartTracking();

            AssertInit(dir, git);

            var hasNotification = false;

            _sut.GitEnableChanged += () => hasNotification = true;

            Assert.IsFalse(hasNotification);
            DeleteDirectory(git);

            Thread.Sleep(250);
            Assert.IsTrue(hasNotification);
            AssertInit(dir, null);
        }
Example #9
0
 public void TearDown()
 {
     _sut?.Dispose();
     _sut = null;
 }