From 7c496280104e02cb2a02dbbe0caf3510e0e87e42 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 17 Jan 2007 13:35:13 -0800 Subject: [PATCH] git-format-patch -3 This teaches "git-format-patch" to honor the --max-count parameter revision traversal machinery takes, so that you can say "git-format-patch -3" to process the three topmost commits from the current HEAD (or "git-format-patch -2 topic" to name a specific branch). Signed-off-by: Junio C Hamano --- Documentation/git-format-patch.txt | 3 +++ builtin-log.c | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt index 574cf76dc..811c6e2e7 100644 --- a/Documentation/git-format-patch.txt +++ b/Documentation/git-format-patch.txt @@ -126,6 +126,9 @@ git-format-patch -M -B origin:: understand renaming patches, so use it only when you know the recipient uses git to apply your patch. +git-format-patch -3:: + Extract three topmost commits from the current branch + and format them as e-mailable patches. See Also -------- diff --git a/builtin-log.c b/builtin-log.c index 1cd9d3f76..9453e6d2d 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -482,8 +482,13 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) } if (rev.pending.nr == 1) { - rev.pending.objects[0].item->flags |= UNINTERESTING; - add_head(&rev); + if (rev.max_count < 0) { + rev.pending.objects[0].item->flags |= UNINTERESTING; + add_head(&rev); + } + /* Otherwise, it is "format-patch -22 HEAD", and + * get_revision() would return only the specified count. + */ } if (ignore_if_in_upstream) -- 2.30.2