Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/addins/VersionControl/MonoDevelop.VersionControl.Git.Tests/BaseGitRepositoryTests.cs')
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl.Git.Tests/BaseGitRepositoryTests.cs34
1 files changed, 34 insertions, 0 deletions
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git.Tests/BaseGitRepositoryTests.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git.Tests/BaseGitRepositoryTests.cs
index a3d92cdaf7..e1767c556a 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git.Tests/BaseGitRepositoryTests.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git.Tests/BaseGitRepositoryTests.cs
@@ -392,6 +392,11 @@ index 0000000..009b64b
return new GitRepository (VersionControlService.GetVersionControlSystems ().First (id => id.Name == "Git"), path, url);
}
+ protected override Repository GetRepo ()
+ {
+ return new GitRepository ();
+ }
+
// This test is for a memory usage improvement on status.
[Test]
public void TestSameGitRevision ()
@@ -497,5 +502,34 @@ index 0000000..009b64b
foreach (var rev in revisions)
Assert.AreEqual (GettextCatalog.GetString ("working copy"), rev);
}
+
+ [Test]
+ public void TestGitRebaseCommitOrdering ()
+ {
+ var gitRepo = (GitRepository)Repo;
+
+ AddFile ("init", "init", toVcs: true, commit: true);
+
+ // Create a branch from initial commit.
+ gitRepo.CreateBranch ("test", null, null);
+
+ // Create two commits in master.
+ AddFile ("init2", "init", toVcs: true, commit: true);
+ AddFile ("init3", "init", toVcs: true, commit: true);
+
+ // Create two commits in test.
+ gitRepo.SwitchToBranch (new NullProgressMonitor (), "test");
+ AddFile ("init4", "init", toVcs: true, commit: true);
+ AddFile ("init5", "init", toVcs: true, commit: true);
+
+ gitRepo.Rebase ("master", GitUpdateOptions.None, new NullProgressMonitor ());
+
+ // Commits come in reverse (recent to old).
+ var history = gitRepo.GetHistory (LocalPath, null).Reverse ().ToArray ();
+ Assert.AreEqual (5, history.Length);
+ for (int i = 0; i < 5; ++i) {
+ Assert.AreEqual (string.Format ("Commit #{0}\n", i), history [i].Message);
+ }
+ }
}
}