Program: 113203
Project: 113203
Buggy source:
/** 
 * Executes the log operation.
 * @return the list of commits that satisfy the query criteria, most recent first.
 * @see org.locationtech.geogig.repository.AbstractGeoGigOp#call()
 */
@Override protected Iterator<RevCommit> _call(){
  ObjectId newestCommitId;
  ObjectId oldestCommitId;
{
    if (this.until == null) {
      newestCommitId=command(RevParse.class).setRefSpec(Ref.HEAD).call().get();
    }
 else {
      if (!repository().commitExists(this.until)) {
        throw new IllegalArgumentException("String_Node_Str" + until.toString());
      }
      newestCommitId=this.until;
    }
    if (this.since == null) {
      oldestCommitId=ObjectId.NULL;
    }
 else {
      if (!repository().commitExists(this.since)) {
        throw new IllegalArgumentException("String_Node_Str" + since.toString());
      }
      oldestCommitId=this.since;
    }
  }
  Iterator<RevCommit> history;
  if (firstParent) {
    history=new LinearHistoryIterator(newestCommitId,repository());
  }
 else {
    if (commits.isEmpty()) {
      commits.add(newestCommitId);
    }
    if (topo) {
      history=new TopologicalHistoryIterator(commits,repository(),graphDatabase());
    }
 else {
      history=new ChronologicalHistoryIterator(commits,repository());
    }
  }
  LogFilter filter=new LogFilter(oldestCommitId,timeRange,paths,author,commiter);
  Iterator<RevCommit> filteredCommits=Iterators.filter(history,filter);
  if (skip != null) {
    Iterators.advance(filteredCommits,skip.intValue());
  }
  if (limit != null) {
    filteredCommits=Iterators.limit(filteredCommits,limit.intValue());
  }
  return filteredCommits;
}

Fixed version (ground truth):
/** 
 * Executes the log operation.
 * @return the list of commits that satisfy the query criteria, most recent first.
 * @see org.locationtech.geogig.repository.AbstractGeoGigOp#call()
 */
@Override protected Iterator<RevCommit> _call(){
  ObjectId newestCommitId;
  ObjectId oldestCommitId;
{
    if (this.until == null) {
      newestCommitId=command(RevParse.class).setRefSpec(Ref.HEAD).call().get();
    }
 else {
      if (!repository().commitExists(this.until)) {
        throw new IllegalArgumentException("String_Node_Str" + until.toString());
      }
      newestCommitId=this.until;
    }
    if (this.since == null) {
      oldestCommitId=ObjectId.NULL;
    }
 else {
      if (!repository().commitExists(this.since)) {
        throw new IllegalArgumentException("String_Node_Str" + since.toString());
      }
      oldestCommitId=this.since;
    }
  }
  Iterator<RevCommit> history;
  if (firstParent) {
    history=new LinearHistoryIterator(newestCommitId,repository());
  }
 else {
    if (commits.isEmpty()) {
      commits.add(newestCommitId);
    }
    if (topo) {
      history=new TopologicalHistoryIterator(commits,repository(),graphDatabase(),oldestCommitId);
    }
 else {
      history=new ChronologicalHistoryIterator(commits,repository());
    }
  }
  LogFilter filter=new LogFilter(oldestCommitId,timeRange,paths,author,commiter);
  Iterator<RevCommit> filteredCommits=Iterators.filter(history,filter);
  if (skip != null) {
    Iterators.advance(filteredCommits,skip.intValue());
  }
  if (limit != null) {
    filteredCommits=Iterators.limit(filteredCommits,limit.intValue());
  }
  return filteredCommits;
}