當前位置: 首頁>>代碼示例>>C#>>正文


C# RevCommit.GetParent方法代碼示例

本文整理匯總了C#中NGit.Revwalk.RevCommit.GetParent方法的典型用法代碼示例。如果您正苦於以下問題:C# RevCommit.GetParent方法的具體用法?C# RevCommit.GetParent怎麽用?C# RevCommit.GetParent使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在NGit.Revwalk.RevCommit的用法示例。


在下文中一共展示了RevCommit.GetParent方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: ValidateStashedCommit

 /// <summary>Core validation to be performed on all stashed commits</summary>
 /// <param name="commit"></param>
 /// <exception cref="System.IO.IOException">System.IO.IOException</exception>
 private void ValidateStashedCommit(RevCommit commit)
 {
     NUnit.Framework.Assert.IsNotNull(commit);
     Ref stashRef = db.GetRef(Constants.R_STASH);
     NUnit.Framework.Assert.IsNotNull(stashRef);
     NUnit.Framework.Assert.AreEqual(commit, stashRef.GetObjectId());
     NUnit.Framework.Assert.IsNotNull(commit.GetAuthorIdent());
     NUnit.Framework.Assert.AreEqual(commit.GetAuthorIdent(), commit.GetCommitterIdent
         ());
     NUnit.Framework.Assert.AreEqual(2, commit.ParentCount);
     // Load parents
     RevWalk walk = new RevWalk(db);
     try
     {
         foreach (RevCommit parent in commit.Parents)
         {
             walk.ParseBody(parent);
         }
     }
     finally
     {
         walk.Release();
     }
     NUnit.Framework.Assert.AreEqual(1, commit.GetParent(1).ParentCount);
     NUnit.Framework.Assert.AreEqual(head, commit.GetParent(1).GetParent(0));
     NUnit.Framework.Assert.IsFalse(commit.Tree.Equals(head.Tree), "Head tree matches stashed commit tree"
         );
     NUnit.Framework.Assert.AreEqual(head, commit.GetParent(0));
     NUnit.Framework.Assert.IsFalse(commit.GetFullMessage().Equals(commit.GetParent(1)
         .GetFullMessage()));
 }
開發者ID:kenji-tan,項目名稱:ngit,代碼行數:34,代碼來源:StashCreateCommandTest.cs

示例2: CherryPick

		public static MergeCommandResult CherryPick (NGit.Repository repo, RevCommit srcCommit)
		{
			RevCommit newHead = null;
			RevWalk revWalk = new RevWalk(repo);
			try
			{
				// get the head commit
				Ref headRef = repo.GetRef(Constants.HEAD);
				if (headRef == null)
				{
					throw new NoHeadException(JGitText.Get().commitOnRepoWithoutHEADCurrentlyNotSupported
						);
				}
				RevCommit headCommit = revWalk.ParseCommit(headRef.GetObjectId());
				
				// get the parent of the commit to cherry-pick
				if (srcCommit.ParentCount != 1)
				{
					throw new MultipleParentsNotAllowedException(JGitText.Get().canOnlyCherryPickCommitsWithOneParent
						);
				}
				RevCommit srcParent = srcCommit.GetParent(0);
				revWalk.ParseHeaders(srcParent);
				
				return MergeTrees (repo, srcParent, srcCommit, srcCommit.Name, true);
			}
			catch (IOException e)
			{
				throw new Exception ("Commit failed", e);
			}
			finally
			{
				revWalk.Release();
			}
		}
開發者ID:joaonunesk,項目名稱:monodevelop,代碼行數:35,代碼來源:GitUtil.cs

示例3: DiffWorkingAgainstHead

 /// <exception cref="System.IO.IOException"></exception>
 private IList<DiffEntry> DiffWorkingAgainstHead(RevCommit commit)
 {
     TreeWalk walk = CreateTreeWalk();
     try
     {
         walk.AddTree(commit.GetParent(0).Tree);
         walk.AddTree(commit.Tree);
         return DiffEntry.Scan(walk);
     }
     finally
     {
         walk.Release();
     }
 }
開發者ID:kenji-tan,項目名稱:ngit,代碼行數:15,代碼來源:StashCreateCommandTest.cs


注:本文中的NGit.Revwalk.RevCommit.GetParent方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。