From: Ramkumar Ramachandra <artagnon@gmail.com>
To: Jakub Narebski <jnareb@gmail.com>
Cc: Git Mailing List <git@vger.kernel.org>,
Junio C Hamano <gitster@pobox.com>,
Johannes Sixt <j.sixt@viscovery.net>
Subject: Re: [PATCH] format-patch: Update the `-3` example
Date: Sat, 21 Aug 2010 22:19:03 +0530 [thread overview]
Message-ID: <20100821164900.GD31130@kytes> (raw)
In-Reply-To: <201008211659.38608.jnareb@gmail.com>
Hi Jakub,
Jakub Narebski writes:
> On Sat, 21 Aug 2010, Ramkumar Ramachandra wrote:
> > Ramkumar Ramachandra writes:
> > > Jakub Narebski writes:
> > > > Works for me:
> > > >
> > > > 5031:[gitweb/split@git]# git format-patch -3
> > > > 0001-gitweb-Prepare-for-splitting-gitweb.txt
> > > > 0002-gitweb-Create-Gitweb-Git-module.txt
> > > >
> > > > 5034:[gitweb/split@git]# git version
> > > > git version 1.7.2.1
> > > >
> > > >
> > > > The -3 is git-log option:
> > > >
> > > > -<n> Limits the number of commits to show.
> > > >
> > > > and also git-format-patch option:
> > > >
> > > > -<n> Limits the number of patches to prepare.
> > >
> > > Hm, doesn't work on the `pu` Git, but works on `master` -- I'm
> > > currently bisecting to find the problem. `git log -3` works
> > > though.
> >
> > :facepalm:
> >
> > Scratch out what I just said -- I just realized that `git format-patch
> > HEAD~3` handles merge commits, but `git format-patch -3` does
> > not. `git format-patch -3 HEAD~3` is even more confusing- should we
> > even advertise the `-<n>` option in format-patch?
>
> It looks like there is a conceptual bug in how git-format-patch works,
> namely that '-<n>' is passed to rev-list / log generating machinery,
> and it limits number of *commits* to consider; if some of those commits
> are merge commits, which cannot be represented as patches, the number
> of patches it generates is less than specified <n> (as you can see in
> the example I have provided, where <n> == 3, and git-format-patch
> generated 2 patches, not 3). In extreme case (like 'pu') it can
> generate no patch.
>
> I am not sure what the solution should be. We could either:
>
> A. Update git-format-patch documentation to say 'commits' instead of
> 'patches', and perhaps also be loud about commits we are skipping,
> so that my example would look e.g. like this:
>
> $ git format-patch -3
> 0001-gitweb-Prepare-for-splitting-gitweb.txt
> 0002-gitweb-Create-Gitweb-Git-module.txt
> Skipping merge commit: Merge branch 'maint'
Thanks for the awesome explanation! A is definitely the way to go-
I'll start writing a patch immediately.
-- Ram
prev parent reply other threads:[~2010-08-21 16:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-21 9:26 [PATCH] format-patch: Update the `-3` example Ramkumar Ramachandra
2010-08-21 10:23 ` Jakub Narebski
2010-08-21 10:34 ` Ramkumar Ramachandra
2010-08-21 10:53 ` Ramkumar Ramachandra
2010-08-21 13:54 ` Johannes Sixt
2010-08-21 14:59 ` Jakub Narebski
2010-08-21 16:49 ` Ramkumar Ramachandra [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100821164900.GD31130@kytes \
--to=artagnon@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j.sixt@viscovery.net \
--cc=jnareb@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).