本文整理汇总了C#中NGit.Revwalk.RevCommit.GetAuthorIdent方法的典型用法代码示例。如果您正苦于以下问题:C# RevCommit.GetAuthorIdent方法的具体用法?C# RevCommit.GetAuthorIdent怎么用?C# RevCommit.GetAuthorIdent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NGit.Revwalk.RevCommit
的用法示例。
在下文中一共展示了RevCommit.GetAuthorIdent方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestCommit
public virtual void TestCommit()
{
Git git = new Git(db);
revCommit = git.Commit().SetMessage("squash_me").Call();
Ref master = db.GetRef("refs/heads/master");
string message = msgFormatter.Format(Arrays.AsList(revCommit), master);
NUnit.Framework.Assert.AreEqual("Squashed commit of the following:\n\ncommit " +
revCommit.GetName() + "\nAuthor: " + revCommit.GetAuthorIdent().GetName() + " <"
+ revCommit.GetAuthorIdent().GetEmailAddress() + ">\nDate: " + dateFormatter.
FormatDate(author) + "\n\n\tsquash_me\n", message);
}
示例2: 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();
}
}
示例3: ToCommit
private static Commit ToCommit(RevCommit commit, Repository repository)
{
return new Commit
(
repository,
commit.Name,
commit.GetShortMessage(),
ToPerson(commit.GetAuthorIdent()),
ToPerson(commit.GetCommitterIdent()),
commit.GetCommitterIdent().GetWhen(),
commit.Parents.Select(p => p.Name)
);
}
示例4: 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());
}
示例5: 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());
}
示例6: 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()));
}
示例7: TestParse_incompleteAuthorAndCommitter
public virtual void TestParse_incompleteAuthorAndCommitter()
{
StringBuilder b = new StringBuilder();
b.Append("tree 9788669ad918b6fcce64af8882fc9a81cb6aba67\n");
b.Append("author <[email protected]> 1218123387 +0700\n");
b.Append("committer <> 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(new PersonIdent(string.Empty, "[email protected]"
, 1218123387000l, 7), c.GetAuthorIdent());
NUnit.Framework.Assert.AreEqual(new PersonIdent(string.Empty, string.Empty, 1218123390000l
, -5), c.GetCommitterIdent());
}