public void testNoCacheObjectIdSubclass() { string newRef = "refs/heads/abc"; RefUpdate ru = updateRef(newRef); RevCommit newid = new RevCommit(ru.getNewObjectId()) { // empty }; ru.setNewObjectId(newid); RefUpdate.RefUpdateResult update = ru.update(); Assert.AreEqual(RefUpdate.RefUpdateResult.NEW, update); Core.Ref r = db.getAllRefs()[newRef]; Assert.IsNotNull(r); Assert.AreEqual(newRef, r.Name); Assert.IsNotNull(r.ObjectId); Assert.AreNotSame(newid, r.ObjectId); Assert.AreSame(typeof(ObjectId), r.ObjectId.GetType()); Assert.AreEqual(newid.Copy(), r.ObjectId); IList <ReflogReader.Entry> reverseEntries1 = db.ReflogReader("refs/heads/abc").getReverseEntries(); ReflogReader.Entry entry1 = reverseEntries1[0]; Assert.AreEqual(1, reverseEntries1.Count); Assert.AreEqual(ObjectId.ZeroId, entry1.getOldId()); Assert.AreEqual(r.ObjectId, entry1.getNewId()); Assert.AreEqual(new PersonIdent(db).ToString(), entry1.getWho().ToString()); Assert.AreEqual("", entry1.getComment()); IList <ReflogReader.Entry> reverseEntries2 = db.ReflogReader("HEAD").getReverseEntries(); Assert.AreEqual(0, reverseEntries2.Count); }
public void testNewNamespaceConflictWithLoosePrefixNameExists() { string newRef = "refs/heads/z"; RefUpdate ru = updateRef(newRef); RevCommit newid = new RevCommit(ru.getNewObjectId()) { // empty }; ru.setNewObjectId(newid); RefUpdate.RefUpdateResult update = ru.update(); Assert.AreEqual(RefUpdate.RefUpdateResult.NEW, update); // end setup string newRef2 = "refs/heads/z/a"; RefUpdate ru2 = updateRef(newRef2); RevCommit newid2 = new RevCommit(ru2.getNewObjectId()) { // empty }; ru.setNewObjectId(newid2); RefUpdate.RefUpdateResult update2 = ru2.update(); Assert.AreEqual(RefUpdate.RefUpdateResult.LOCK_FAILURE, update2); Assert.AreEqual(1, db.ReflogReader("refs/heads/z").getReverseEntries().Count); Assert.AreEqual(0, db.ReflogReader("HEAD").getReverseEntries().Count); }
public void testNewNamespaceConflictWithPackedPrefixNameExists() { string newRef = "refs/heads/master/x"; RefUpdate ru = updateRef(newRef); RevCommit newid = new RevCommit(ru.getNewObjectId()) { // empty }; ru.NewObjectId = newid; RefUpdate.RefUpdateResult update = ru.update(); Assert.AreEqual(RefUpdate.RefUpdateResult.LOCK_FAILURE, update); Assert.IsNull(db.ReflogReader("refs/heads/master/x")); Assert.AreEqual(0, db.ReflogReader("HEAD").getReverseEntries().Count); }