71
71
/// <exception cref="System.Exception"></exception>
72
72
[NUnit.Framework.Test]
73
public virtual void ResolveUnnamedCurrentBranchCommits()
75
Git git = new Git(db);
76
WriteTrashFile("file.txt", "content");
77
git.Add().AddFilepattern("file.txt").Call();
78
RevCommit c1 = git.Commit().SetMessage("create file").Call();
79
WriteTrashFile("file.txt", "content2");
80
git.Add().AddFilepattern("file.txt").Call();
81
RevCommit c2 = git.Commit().SetMessage("edit file").Call();
82
NUnit.Framework.Assert.AreEqual(c2, db.Resolve("master@{0}"));
83
NUnit.Framework.Assert.AreEqual(c1, db.Resolve("master@{1}"));
84
git.Checkout().SetCreateBranch(true).SetName("newbranch").SetStartPoint(c1).Call(
86
// same as current branch, e.g. master
87
NUnit.Framework.Assert.AreEqual(c1, db.Resolve("@{0}"));
90
NUnit.Framework.Assert.AreEqual(c1, db.Resolve("@{1}"));
91
NUnit.Framework.Assert.Fail();
93
catch (RevisionSyntaxException e)
95
// Looking at wrong ref, e.g HEAD
96
NUnit.Framework.Assert.IsNotNull(e);
98
// detached head, read HEAD reflog
99
git.Checkout().SetName(c2.GetName()).Call();
100
NUnit.Framework.Assert.AreEqual(c2, db.Resolve("@{0}"));
101
NUnit.Framework.Assert.AreEqual(c1, db.Resolve("@{1}"));
102
NUnit.Framework.Assert.AreEqual(c2, db.Resolve("@{2}"));
105
/// <exception cref="System.Exception"></exception>
106
[NUnit.Framework.Test]
73
107
public virtual void ResolveReflogParent()
75
109
Git git = new Git(db);
96
130
/// <exception cref="System.Exception"></exception>
97
131
[NUnit.Framework.Test]
98
public virtual void ResolveNegativeEntryNumber()
132
public virtual void ResolvePreviousBranch()
100
134
Git git = new Git(db);
101
135
WriteTrashFile("file.txt", "content");
102
136
git.Add().AddFilepattern("file.txt").Call();
103
git.Commit().SetMessage("create file").Call();
137
RevCommit c1 = git.Commit().SetMessage("create file").Call();
138
WriteTrashFile("file.txt", "content2");
139
git.Add().AddFilepattern("file.txt").Call();
140
RevCommit c2 = git.Commit().SetMessage("edit file").Call();
141
git.Checkout().SetCreateBranch(true).SetName("newbranch").SetStartPoint(c1).Call(
143
git.Checkout().SetName(c1.GetName()).Call();
144
git.Checkout().SetName("master").Call();
145
NUnit.Framework.Assert.AreEqual(c1.GetName(), db.Simplify("@{-1}"));
146
NUnit.Framework.Assert.AreEqual("newbranch", db.Simplify("@{-2}"));
147
NUnit.Framework.Assert.AreEqual("master", db.Simplify("@{-3}"));
148
// chained expression
106
db.Resolve("master@{-12}");
107
NUnit.Framework.Assert.Fail("Exception not thrown");
151
// Cannot refer to reflog of detached head
152
db.Resolve("@{-1}@{0}");
153
NUnit.Framework.Assert.Fail();
109
catch (RevisionSyntaxException e)
155
catch (RevisionSyntaxException)
111
NUnit.Framework.Assert.IsNotNull(e);
159
NUnit.Framework.Assert.AreEqual(c1.GetName(), db.Resolve("@{-2}@{0}").GetName());
160
NUnit.Framework.Assert.AreEqual(c2.GetName(), db.Resolve("@{-3}@{0}").GetName());
115
163
/// <exception cref="System.Exception"></exception>