示例#1
0
        /// <exception cref="System.Exception"></exception>
        private void DoCherryPickAndCheckResult(Git git, RevCommit sideCommit, ResolveMerger.MergeFailureReason
                                                reason)
        {
            // get current index state
            string indexState = IndexState(CONTENT);
            // cherry-pick
            CherryPickResult result = git.CherryPick().Include(sideCommit.Id).Call();

            NUnit.Framework.Assert.AreEqual(CherryPickResult.CherryPickStatus.FAILED, result.
                                            GetStatus());
            // staged file a causes DIRTY_INDEX
            NUnit.Framework.Assert.AreEqual(1, result.GetFailingPaths().Count);
            NUnit.Framework.Assert.AreEqual(reason, result.GetFailingPaths().Get("a"));
            NUnit.Framework.Assert.AreEqual("a(modified)", Read(new FilePath(db.WorkTree, "a"
                                                                             )));
            // index shall be unchanged
            NUnit.Framework.Assert.AreEqual(indexState, IndexState(CONTENT));
            NUnit.Framework.Assert.AreEqual(RepositoryState.SAFE, db.GetRepositoryState());
            if (reason == null)
            {
                ReflogReader reader = db.GetReflogReader(Constants.HEAD);
                NUnit.Framework.Assert.IsTrue(reader.GetLastEntry().GetComment().StartsWith("cherry-pick: "
                                                                                            ));
                reader = db.GetReflogReader(db.GetBranch());
                NUnit.Framework.Assert.IsTrue(reader.GetLastEntry().GetComment().StartsWith("cherry-pick: "
                                                                                            ));
            }
        }
示例#2
0
 /// <exception cref="System.Exception"></exception>
 private void CheckMergeFailedResult(MergeCommandResult result, ResolveMerger.MergeFailureReason
                                     reason, string indexState, FilePath fileA)
 {
     NUnit.Framework.Assert.AreEqual(MergeStatus.FAILED, result.GetMergeStatus());
     NUnit.Framework.Assert.AreEqual(reason, result.GetFailingPaths().Get("a"));
     NUnit.Framework.Assert.AreEqual("a(modified)", Read(fileA));
     NUnit.Framework.Assert.IsFalse(new FilePath(db.WorkTree, "b").Exists());
     NUnit.Framework.Assert.AreEqual("c", Read(new FilePath(db.WorkTree, "c")));
     NUnit.Framework.Assert.AreEqual(indexState, IndexState(CONTENT));
     NUnit.Framework.Assert.AreEqual(null, result.GetConflicts());
     NUnit.Framework.Assert.AreEqual(RepositoryState.SAFE, db.GetRepositoryState());
 }