当前位置: 首页>>代码示例>>C#>>正文


C# RevCommit.GetFullMessage方法代码示例

本文整理汇总了C#中NGit.Revwalk.RevCommit.GetFullMessage方法的典型用法代码示例。如果您正苦于以下问题:C# RevCommit.GetFullMessage方法的具体用法?C# RevCommit.GetFullMessage怎么用?C# RevCommit.GetFullMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在NGit.Revwalk.RevCommit的用法示例。


在下文中一共展示了RevCommit.GetFullMessage方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MergeTrees

		public static MergeCommandResult MergeTrees (NGit.Repository repo, RevCommit srcBase, RevCommit srcCommit, string sourceDisplayName, bool commitResult)
		{
			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());
				
				ResolveMerger merger = (ResolveMerger)((ThreeWayMerger)MergeStrategy.RESOLVE.NewMerger
					(repo));
				
				// CherryPick command sets the working tree, but this should not be necessary, and when setting it
				// untracked files are deleted during the merge
				// merger.SetWorkingTreeIterator(new FileTreeIterator(repo));
				
				merger.SetBase(srcBase);
				
				bool noProblems;
				IDictionary<string, MergeResult<NGit.Diff.Sequence>> lowLevelResults = null;
				IDictionary<string, ResolveMerger.MergeFailureReason> failingPaths = null;
				IList<string> modifiedFiles = null;
				
				ResolveMerger resolveMerger = (ResolveMerger)merger;
				resolveMerger.SetCommitNames(new string[] { "BASE", "HEAD", sourceDisplayName });
				noProblems = merger.Merge(headCommit, srcCommit);
				lowLevelResults = resolveMerger.GetMergeResults();
				modifiedFiles = resolveMerger.GetModifiedFiles();
				failingPaths = resolveMerger.GetFailingPaths();
				
				if (noProblems)
				{
					if (modifiedFiles != null && modifiedFiles.Count == 0) {
						return new MergeCommandResult(headCommit, null, new ObjectId[] { headCommit.Id, srcCommit
							.Id }, MergeStatus.ALREADY_UP_TO_DATE, MergeStrategy.RESOLVE, null, null);
					}
					DirCacheCheckout dco = new DirCacheCheckout(repo, headCommit.Tree, repo.LockDirCache
						(), merger.GetResultTreeId());
					dco.SetFailOnConflict(true);
					dco.Checkout();
					if (commitResult) {
						newHead = new NGit.Api.Git(repo).Commit().SetMessage(srcCommit.GetFullMessage()
							).SetAuthor(srcCommit.GetAuthorIdent()).Call();
						return new MergeCommandResult(newHead.Id, null, new ObjectId[] { headCommit.Id, srcCommit
							.Id }, MergeStatus.MERGED, MergeStrategy.RESOLVE, null, null);
					} else {
						return new MergeCommandResult(headCommit, null, new ObjectId[] { headCommit.Id, srcCommit
							.Id }, MergeStatus.MERGED, MergeStrategy.RESOLVE, null, null);
					}
				}
				else
				{
					if (failingPaths != null)
					{
						return new MergeCommandResult(null, merger.GetBaseCommit(0, 1), new ObjectId[] { 
							headCommit.Id, srcCommit.Id }, MergeStatus.FAILED, MergeStrategy.RESOLVE, lowLevelResults
							, null);
					}
					else
					{
						return new MergeCommandResult(null, merger.GetBaseCommit(0, 1), new ObjectId[] { 
							headCommit.Id, srcCommit.Id }, MergeStatus.CONFLICTING, MergeStrategy.RESOLVE, lowLevelResults
							, null);
					}
				}
			}
			finally
			{
				revWalk.Release();
			}
		}
开发者ID:stewartwhaley,项目名称:monodevelop,代码行数:77,代码来源:GitUtil.cs

示例2: TestParse_explicit_bad_encoded

 public virtual void TestParse_explicit_bad_encoded()
 {
     ByteArrayOutputStream b = new ByteArrayOutputStream();
     b.Write(Sharpen.Runtime.GetBytesForString("tree 9788669ad918b6fcce64af8882fc9a81cb6aba67\n"
         , "UTF-8"));
     b.Write(Sharpen.Runtime.GetBytesForString("author F\u00f6r fattare <[email protected]> 1218123387 +0700\n"
         , "ISO-8859-1"));
     b.Write(Sharpen.Runtime.GetBytesForString("committer C O. Miter <[email protected]> 1218123390 -0500\n"
         , "UTF-8"));
     b.Write(Sharpen.Runtime.GetBytesForString("encoding EUC-JP\n", "UTF-8"));
     b.Write(Sharpen.Runtime.GetBytesForString("\n", "UTF-8"));
     b.Write(Sharpen.Runtime.GetBytesForString("\u304d\u308c\u3044\n", "UTF-8"));
     b.Write(Sharpen.Runtime.GetBytesForString("\n", "UTF-8"));
     b.Write(Sharpen.Runtime.GetBytesForString("Hi\n", "UTF-8"));
     RevCommit c;
     c = new RevCommit(Id("9473095c4cb2f12aefe1db8a355fe3fafba42f67"));
     // bogus id
     c.ParseCanonical(new RevWalk(db), b.ToByteArray());
     NUnit.Framework.Assert.AreEqual("Japanese (EUC)", c.Encoding.EncodingName);
     NUnit.Framework.Assert.AreEqual("F\u00f6r fattare", c.GetAuthorIdent().GetName());
     NUnit.Framework.Assert.AreEqual("\u304d\u308c\u3044", c.GetShortMessage());
     NUnit.Framework.Assert.AreEqual("\u304d\u308c\u3044\n\nHi\n", c.GetFullMessage());
 }
开发者ID:charles-cai,项目名称:ngit,代码行数:23,代码来源:RevCommitParseTest.cs

示例3: TestParse_NoParents

 public virtual void TestParse_NoParents()
 {
     ObjectId treeId = Id("9788669ad918b6fcce64af8882fc9a81cb6aba67");
     string authorName = "A U. Thor";
     string authorEmail = "[email protected]";
     int authorTime = 1218123387;
     string authorTimeZone = "+0700";
     string committerName = "C O. Miter";
     string committerEmail = "[email protected]";
     int committerTime = 1218123390;
     string committerTimeZone = "-0500";
     StringBuilder body = new StringBuilder();
     body.Append("tree ");
     body.Append(treeId.Name);
     body.Append("\n");
     body.Append("author ");
     body.Append(authorName);
     body.Append(" <");
     body.Append(authorEmail);
     body.Append("> ");
     body.Append(authorTime);
     body.Append(" ");
     body.Append(authorTimeZone);
     body.Append(" \n");
     body.Append("committer ");
     body.Append(committerName);
     body.Append(" <");
     body.Append(committerEmail);
     body.Append("> ");
     body.Append(committerTime);
     body.Append(" ");
     body.Append(committerTimeZone);
     body.Append("\n");
     body.Append("\n");
     RevWalk rw = new RevWalk(db);
     RevCommit c;
     c = new RevCommit(Id("9473095c4cb2f12aefe1db8a355fe3fafba42f67"));
     NUnit.Framework.Assert.IsNull(c.Tree);
     NUnit.Framework.Assert.IsNull(c.parents);
     c.ParseCanonical(rw, Sharpen.Runtime.GetBytesForString(body.ToString(), "UTF-8"));
     NUnit.Framework.Assert.IsNotNull(c.Tree);
     NUnit.Framework.Assert.AreEqual(treeId, c.Tree.Id);
     NUnit.Framework.Assert.AreSame(rw.LookupTree(treeId), c.Tree);
     NUnit.Framework.Assert.IsNotNull(c.parents);
     NUnit.Framework.Assert.AreEqual(0, c.parents.Length);
     NUnit.Framework.Assert.AreEqual(string.Empty, c.GetFullMessage());
     PersonIdent cAuthor = c.GetAuthorIdent();
     NUnit.Framework.Assert.IsNotNull(cAuthor);
     NUnit.Framework.Assert.AreEqual(authorName, cAuthor.GetName());
     NUnit.Framework.Assert.AreEqual(authorEmail, cAuthor.GetEmailAddress());
     NUnit.Framework.Assert.AreEqual((long)authorTime * 1000, cAuthor.GetWhen().GetTime
         ());
     NUnit.Framework.Assert.AreEqual(Sharpen.Extensions.GetTimeZone("GMT" + authorTimeZone
         ), cAuthor.GetTimeZone());
     PersonIdent cCommitter = c.GetCommitterIdent();
     NUnit.Framework.Assert.IsNotNull(cCommitter);
     NUnit.Framework.Assert.AreEqual(committerName, cCommitter.GetName());
     NUnit.Framework.Assert.AreEqual(committerEmail, cCommitter.GetEmailAddress());
     NUnit.Framework.Assert.AreEqual((long)committerTime * 1000, cCommitter.GetWhen().
         GetTime());
     NUnit.Framework.Assert.AreEqual(Sharpen.Extensions.GetTimeZone("GMT" + committerTimeZone
         ), cCommitter.GetTimeZone());
 }
开发者ID:charles-cai,项目名称:ngit,代码行数:63,代码来源:RevCommitParseTest.cs

示例4: TestParse_WeirdHeaderOnlyCommit

 public virtual void TestParse_WeirdHeaderOnlyCommit()
 {
     StringBuilder b = new StringBuilder();
     b.Append("tree 9788669ad918b6fcce64af8882fc9a81cb6aba67\n");
     b.Append("author A U. Thor <[email protected]> 1218123387 +0700\n");
     b.Append("committer C O. Miter <[email protected]> 1218123390 -0500\n");
     RevCommit c;
     c = new RevCommit(Id("9473095c4cb2f12aefe1db8a355fe3fafba42f67"));
     c.ParseCanonical(new RevWalk(db), Sharpen.Runtime.GetBytesForString(b.ToString(),
         "UTF-8"));
     NUnit.Framework.Assert.AreEqual(string.Empty, c.GetFullMessage());
     NUnit.Framework.Assert.AreEqual(string.Empty, c.GetShortMessage());
 }
开发者ID:charles-cai,项目名称:ngit,代码行数:13,代码来源:RevCommitParseTest.cs

示例5: 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


注:本文中的NGit.Revwalk.RevCommit.GetFullMessage方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。