diff --git a/builtin/log.c b/builtin/log.c
index 0f43d2ec78555339cfb788bc173780acdaa2139d..9a15d6961718481339417f973cac0a4a5fc9b26a 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);