diff --git a/builtin/log.c b/builtin/log.c
index 99e33b3651a3c0d7e89144712d3754eab8ad30d6..796e9e57460468748d1e2af975ac52a6470a379d 100644 (file)
--- a/builtin/log.c
+++ b/builtin/log.c
* retain that state information if replacing rev->diffopt in this loop
*/
while ((commit = get_revision(rev)) != NULL) {
- log_tree_commit(rev, commit);
+ if (!log_tree_commit(rev, commit) &&
+ rev->max_count >= 0)
+ /*
+ * We decremented max_count in get_revision,
+ * but we didn't actually show the commit.
+ */
+ rev->max_count++;
if (!rev->reflog_info) {
/* we allow cycles in reflog ancestry */
free(commit->buffer);