]> git.ipfire.org Git - thirdparty/git.git/blobdiff - builtin/log.c
log: fix --max-count when used together with -S or -G
[thirdparty/git.git] / builtin / log.c
index d8c6c28d2fcc3bd0744f071da536215141dc0d0b..2b82272eac8aff30140babbcdbe29d9e84b12a5f 100644 (file)
@@ -263,7 +263,13 @@ static int cmd_log_walk(struct rev_info *rev)
         * 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);