我想知道如何使用C API在Git中查找两个标签之间的所有提交。我知道可以使用CLI工具轻松完成此操作:
git log [first commit]..[second commit ] --pretty=oneline 然而,我似乎无法弄清楚如何使用C API实现它。我卡住的问题是当图形中出现循环时。
这是我使用Objective-Git的一些Objective-C代码,但由于大多数人不了解Objective-C,因此我很高兴得到C API或其他Git API的答案。我想我将不得不保留以前遍历过的提交的字典之类的东西?
git log [first commit]..[second commit ] --pretty=oneline 然而,我似乎无法弄清楚如何使用C API实现它。我卡住的问题是当图形中出现循环时。
这是我使用Objective-Git的一些Objective-C代码,但由于大多数人不了解Objective-C,因此我很高兴得到C API或其他Git API的答案。我想我将不得不保留以前遍历过的提交的字典之类的东西?
- (void)traverseCommits: (GTCommit *)start withGoal: (GTCommit *)goal withHistory: (NSMutableDictionary *)history{
NSLog(@"%@", start.shortSHA);
if ([start.SHA isEqualToString:goal.SHA]) {
return;
}
for (GTCommit *c in start.parents) {
//[history setObject:c forKey:c.SHA];
if(![c.SHA isEqualToString:goal.SHA])
[self traverseCommits:c withGoal:goal withHistory:history];
}
}