git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
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

      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).