0
我使用Lib2GitSharp从其他系统的信息加入Git日志,我希望能够检索自某个日期(或日期之间)以来的所有git日志, 。从LibGit2Sharp返回特定日期以来的所有git日志
我在querying the log here上找到了文档,但似乎没有按日期查询日志的方法。什么将相当于
git log --since="2013-08-20"
in LibGit2Sharp?
编辑 这似乎工作,但也许有更好和/或更优雅的方式?
using (var repo = new Repository(options.Repo))
{
var since = new DateTime(2013, 8, 20);
var commits = repo.Commits.Where(c => c.Committer.When.CompareTo(since) > 0);
foreach (Commit commit in commits)
{
Console.WriteLine("A commit happened at " + commit.Committer.When.ToLocalTime());
}
}
尼斯的答案成立的建议。 Upvoted!但有一些意见: - 'repo.Commits'将枚举可从HEAD访问的提交。如果您想记录不同分支的提交,请使用'repo.Commit.QueryBy()' - 优先于'DateTime'上的'DateTimeOffset'。当处理来自不同时区的提交者时,少得多headeaches ;-) – nulltoken
我应该使用'var filter = new CommitFilter {Since = repo.Branches};'或'var filter = new CommitFilter {Since = repo.Branches};'?两者似乎都适用于我的示例数据集,但可能目前我还没有看到差异。 –
'var filter = new CommitFilter {Since = repo.Branches}'将定位所有分支的所有提交。 'var filter = new CommitFilter {Since = new [] {repo.Branch [“master”],repo.Branch [“other”]}};'将目标分支为'master'和'other'。 – nulltoken