本文整理汇总了C#中Commit.Add方法的典型用法代码示例。如果您正苦于以下问题:C# Commit.Add方法的具体用法?C# Commit.Add怎么用?C# Commit.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Commit
的用法示例。
在下文中一共展示了Commit.Add方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Apply
/// <summary>
/// Apply a commit.
/// </summary>
public void Apply(Commit commit)
{
var state = this[commit.Branch];
state.Apply(commit);
// find any file revisions that are branchpoints for branches and update the state of those branches
var branches = commit
.SelectMany(f => f.File.GetBranchesAtRevision(f.Revision))
.Distinct()
.Where(b => m_branches.ContainsKey(b));
foreach (var branch in branches)
{
var tempCommit = new Commit("");
foreach (var fr in commit.Where(f => f.File.GetBranchesAtRevision(f.Revision).Contains(branch)))
tempCommit.Add(fr);
this[branch].Apply(tempCommit);
}
}
示例2: MakeCommit
private Commit MakeCommit(List<FileRevision> revisions, int start, int end)
{
var commit = new Commit(MakeCommitId(revisions[start]));
for (int i = start; i < end; i++)
{
commit.Add(revisions[i]);
// need to wait for the first revision to be added, so that the commit message is set
if (i == start)
m_debugLog.WriteLine("Commit {0}{1}{2}", commit.CommitId, Environment.NewLine, commit.Message);
m_debugLog.WriteLine(" {0} r{1}", revisions[i].File.Name, revisions[i].Revision);
}
m_debugLog.WriteLine();
return commit;
}
示例3: CreateHeadOnlyCommit
private void CreateHeadOnlyCommit(string branch, BranchStreamCollection streams, FileCollection allFiles, string branchMergeFrom)
{
var headOnlyState = m_headOnlyState[branch];
var commitId = String.Format("headonly-{0}", branch);
var commit = new Commit(commitId);
var message = String.Format("Adding head-only files to {0}", m_branchRenamer.Process(branch));
foreach (var file in headOnlyState.LiveFiles.OrderBy(i => i, StringComparer.OrdinalIgnoreCase))
{
var fileRevision = new FileRevision(allFiles[file], headOnlyState[file],
mergepoint: Revision.Empty, time: DateTime.Now, author: "", commitId: commitId);
fileRevision.AddMessage(message);
commit.Add(fileRevision);
}
// check for a merge
if (branchMergeFrom != null)
{
Commit mergeSource = streams.Head(branchMergeFrom);
if (mergeSource.CommitId.StartsWith("headonly-"))
{
commit.MergeFrom = mergeSource;
// check for deleted files
var fileLookup = new HashSet<string>(commit.Select(r => r.File.Name));
foreach (var r in mergeSource)
{
if (!fileLookup.Contains(r.File.Name))
{
var fileRevision = new FileRevision(
file: r.File,
revision: Revision.Empty, // a bit lazy, but I think we can get away with it
mergepoint: Revision.Empty,
time: DateTime.Now,
author: "",
commitId: commitId,
isDead: true);
fileRevision.AddMessage(message);
commit.Add(fileRevision);
}
}
}
}
if (commit.Any())
{
m_log.WriteLine("Added commit {0}", commitId);
streams.AppendCommit(commit);
}
}