示例#1
0
        public void testUpdateRefDetachedUnbornHead()
        {
            ObjectId ppid = db.Resolve("refs/heads/master^");

            writeSymref("HEAD", "refs/heads/unborn");
            RefUpdate updateRef = db.UpdateRef("HEAD", true);

            updateRef.IsForceUpdate = true;
            updateRef.NewObjectId   = ppid;
            RefUpdate.RefUpdateResult update = updateRef.update();
            Assert.AreEqual(RefUpdate.RefUpdateResult.NEW, update);
            Assert.AreEqual(ppid, db.Resolve("HEAD"));
            Ref @ref = db.getRef("HEAD");

            Assert.AreEqual("HEAD", @ref.Name);
            Assert.IsTrue([email protected](), "is detached");

            // the branch HEAD referred to is left untouched
            Assert.IsNull(db.Resolve("refs/heads/unborn"));
            ReflogReader reflogReader = new ReflogReader(db, "HEAD");

            ReflogReader.Entry e = reflogReader.getReverseEntries()[0];
            Assert.AreEqual(ObjectId.ZeroId, e.getOldId());
            Assert.AreEqual(ppid, e.getNewId());
            Assert.AreEqual("GIT_COMMITTER_EMAIL", e.getWho().EmailAddress);
            Assert.AreEqual("GIT_COMMITTER_NAME", e.getWho().Name);
            Assert.AreEqual(1250379778000L, e.getWho().When);
        }
示例#2
0
        public void testReadWhileAppendIsInProgress()
        {
            setupReflog("logs/refs/heads/master", twoLineWithAppendInProgress);
            ReflogReader reader         = new ReflogReader(db, "refs/heads/master");
            var          reverseEntries = reader.getReverseEntries();

            Assert.AreEqual(2, reverseEntries.Count);
            ReflogReader.Entry e = reverseEntries[0];

            Assert.AreEqual(ObjectId
                            .FromString("c6734895958052a9dbc396cff4459dc1a25029ab"), e
                            .getOldId());

            Assert.AreEqual(ObjectId
                            .FromString("54794942a18a237c57a80719afed44bb78172b10"), e
                            .getNewId());

            Assert.AreEqual("Same A U Thor", e.getWho().Name);
            Assert.AreEqual("*****@*****.**", e.getWho().EmailAddress);
            Assert.AreEqual(60, e.getWho().TimeZoneOffset);
            Assert.AreEqual("2009-05-22T22:36:42", iso(e.getWho()));
            Assert.AreEqual(
                "rebase finished: refs/heads/rr/renamebranch5 onto c6e3b9fe2da0293f11eae202ec35fb343191a82d",
                e.getComment());
            // while similar to testReadTwoLine, we can assume that if we get the last entry
            // right, everything else is too
        }
示例#3
0
        public void testReadTwoLine()
        {
            setupReflog("logs/refs/heads/master", twoLine);

            ReflogReader reader         = new ReflogReader(db, "refs/heads/master");
            var          reverseEntries = reader.getReverseEntries();

            Assert.AreEqual(2, reverseEntries.Count);
            ReflogReader.Entry e = reverseEntries[0];

            Assert.AreEqual(ObjectId
                            .FromString("c6734895958052a9dbc396cff4459dc1a25029ab"), e
                            .getOldId());

            Assert.AreEqual(ObjectId
                            .FromString("54794942a18a237c57a80719afed44bb78172b10"), e
                            .getNewId());

            Assert.AreEqual("Same A U Thor", e.getWho().Name);
            Assert.AreEqual("*****@*****.**", e.getWho().EmailAddress);
            Assert.AreEqual(60, e.getWho().TimeZoneOffset);
            Assert.AreEqual("2009-05-22T22:36:42", iso(e.getWho()));
            Assert.AreEqual(
                "rebase finished: refs/heads/rr/renamebranch5 onto c6e3b9fe2da0293f11eae202ec35fb343191a82d",
                e.getComment());

            e = reverseEntries[1];
            Assert.AreEqual(ObjectId
                            .FromString("0000000000000000000000000000000000000000"), e
                            .getOldId());

            Assert.AreEqual(ObjectId
                            .FromString("c6734895958052a9dbc396cff4459dc1a25029ab"), e
                            .getNewId());

            Assert.AreEqual("A U Thor", e.getWho().Name);
            Assert.AreEqual("*****@*****.**", e.getWho().EmailAddress);
            Assert.AreEqual(-60, e.getWho().TimeZoneOffset);
            Assert.AreEqual("2009-05-22T20:36:41", iso(e.getWho()));
            Assert.AreEqual("branch: Created from rr/renamebranchv4", e.getComment());
        }
示例#4
0
        public void testReadWhileAppendIsInProgress()
        {
            setupReflog("logs/refs/heads/master", twoLineWithAppendInProgress);
            ReflogReader reader = new ReflogReader(db, "refs/heads/master");
            var reverseEntries = reader.getReverseEntries();
            Assert.AreEqual(2, reverseEntries.Count);
            ReflogReader.Entry e = reverseEntries[0];

            Assert.AreEqual(ObjectId
                    .FromString("c6734895958052a9dbc396cff4459dc1a25029ab"), e
                    .getOldId());

            Assert.AreEqual(ObjectId
                    .FromString("54794942a18a237c57a80719afed44bb78172b10"), e
                    .getNewId());

            Assert.AreEqual("Same A U Thor", e.getWho().Name);
            Assert.AreEqual("*****@*****.**", e.getWho().EmailAddress);
            Assert.AreEqual(60, e.getWho().TimeZoneOffset);
            Assert.AreEqual("2009-05-22T22:36:42", iso(e.getWho()));
            Assert.AreEqual(
                    "rebase finished: refs/heads/rr/renamebranch5 onto c6e3b9fe2da0293f11eae202ec35fb343191a82d",
                    e.getComment());
            // while similar to testReadTwoLine, we can assume that if we get the last entry
            // right, everything else is too
        }
示例#5
0
        public void testReadTwoLine()
        {
            setupReflog("logs/refs/heads/master", twoLine);

            ReflogReader reader = new ReflogReader(db, "refs/heads/master");
            var reverseEntries = reader.getReverseEntries();
            Assert.AreEqual(2, reverseEntries.Count);
            ReflogReader.Entry e = reverseEntries[0];

            Assert.AreEqual(ObjectId
                    .FromString("c6734895958052a9dbc396cff4459dc1a25029ab"), e
                    .getOldId());

            Assert.AreEqual(ObjectId
                    .FromString("54794942a18a237c57a80719afed44bb78172b10"), e
                    .getNewId());

            Assert.AreEqual("Same A U Thor", e.getWho().Name);
            Assert.AreEqual("*****@*****.**", e.getWho().EmailAddress);
            Assert.AreEqual(60, e.getWho().TimeZoneOffset);
            Assert.AreEqual("2009-05-22T22:36:42", iso(e.getWho()));
            Assert.AreEqual(
                    "rebase finished: refs/heads/rr/renamebranch5 onto c6e3b9fe2da0293f11eae202ec35fb343191a82d",
                    e.getComment());

            e = reverseEntries[1];
            Assert.AreEqual(ObjectId
                    .FromString("0000000000000000000000000000000000000000"), e
                    .getOldId());

            Assert.AreEqual(ObjectId
                    .FromString("c6734895958052a9dbc396cff4459dc1a25029ab"), e
                    .getNewId());

            Assert.AreEqual("A U Thor", e.getWho().Name);
            Assert.AreEqual("*****@*****.**", e.getWho().EmailAddress);
            Assert.AreEqual(-60, e.getWho().TimeZoneOffset);
            Assert.AreEqual("2009-05-22T20:36:41", iso(e.getWho()));
            Assert.AreEqual("branch: Created from rr/renamebranchv4", e.getComment());
        }
示例#6
0
        public void testUpdateRefDetachedUnbornHead()
        {
            ObjectId ppid = db.Resolve("refs/heads/master^");
            writeSymref("HEAD", "refs/heads/unborn");
            RefUpdate updateRef = db.UpdateRef("HEAD", true);
            updateRef.IsForceUpdate = true;
            updateRef.NewObjectId = ppid;
            RefUpdate.RefUpdateResult update = updateRef.update();
            Assert.AreEqual(RefUpdate.RefUpdateResult.NEW, update);
            Assert.AreEqual(ppid, db.Resolve("HEAD"));
            Ref @ref = db.getRef("HEAD");
            Assert.AreEqual("HEAD", @ref.Name);
            Assert.IsTrue([email protected](), "is detached");

            // the branch HEAD referred to is left untouched
            Assert.IsNull(db.Resolve("refs/heads/unborn"));
            ReflogReader reflogReader = new ReflogReader(db, "HEAD");
            ReflogReader.Entry e = reflogReader.getReverseEntries()[0];
            Assert.AreEqual(ObjectId.ZeroId, e.getOldId());
            Assert.AreEqual(ppid, e.getNewId());
            Assert.AreEqual("GIT_COMMITTER_EMAIL", e.getWho().EmailAddress);
            Assert.AreEqual("GIT_COMMITTER_NAME", e.getWho().Name);
            Assert.AreEqual(1250379778000L, e.getWho().When);
        }
示例#7
0
        public void testUpdateRefDetached()
        {
            ObjectId pid = db.Resolve("refs/heads/master");
            ObjectId ppid = db.Resolve("refs/heads/master^");
            RefUpdate updateRef = db.UpdateRef("HEAD", true);
            updateRef.IsForceUpdate = true;
            updateRef.NewObjectId = ppid;
            RefUpdate.RefUpdateResult update = updateRef.Update();
            Assert.AreEqual(RefUpdate.RefUpdateResult.Forced, update);
            Assert.AreEqual(ppid, db.Resolve("HEAD"));
            Ref @ref = db.getRef("HEAD");
            Assert.AreEqual("HEAD", @ref.Name);
            Assert.AreEqual("HEAD", @ref.OriginalName);

            // the branch HEAD referred to is left untouched
            Assert.AreEqual(pid, db.Resolve("refs/heads/master"));
            ReflogReader reflogReader = new ReflogReader(db, "HEAD");
            ReflogReader.Entry e = reflogReader.getReverseEntries()[0];
            Assert.AreEqual(pid, e.getOldId());
            Assert.AreEqual(ppid, e.getNewId());
            Assert.AreEqual("GIT_COMMITTER_EMAIL", e.getWho().EmailAddress);
            Assert.AreEqual("GIT_COMMITTER_NAME", e.getWho().Name);
            Assert.AreEqual(1250379778000L, e.getWho().When);
        }