[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200909302240.17729.jnareb@gmail.com>
Date: Wed, 30 Sep 2009 22:40:16 +0200
From: Jakub Narebski <jnareb@...il.com>
To: Lennart Sorensen <lsorense@...lub.uwaterloo.ca>
Cc: Alejandro Riveira Fernández
<ariveira@...il.com>, Randy Dunlap <rdunlap@...otime.net>,
Andy <genanr@...phone.com>, linux-kernel@...r.kernel.org,
git@...r.kernel.org
Subject: Re: How can I download a git commit as a diff patch?
On Wed, 30 Sep 2009, Lennart Sorensen wrote:
> On Wed, Sep 30, 2009 at 01:10:51PM -0700, Jakub Narebski wrote:
> > Or better yet, if given installation of gitweb supports it, on the
> > 'patch' link just on the right of 'raw' view. Such patch can be
> > applied better by git-am (but both should work for GNU patch or
> > git-apply).
> >
> > Yes, by default for merges the 'commitdiff' view (and the 'raw'
> > version, i.e. 'commitdiff_plain' view) shows **combined** diff of
> > changes brought by merge (see git-diff manpage for details on this
> > format).
> >
> > For merge commit you have to choose which of parents you want to have
> > diff from. Go to 'commit' view, there in the header would be two or
> > more parents. Click on the 'diff' link beside chosen parent, check if
> > it is the diff you want to get, and then click on 'patch' (or 'raw')
> > link.
>
> Is there a git command to show me a diff I can use with patch if I want to
> select a given patch as long as I can tell it which tree I want to follow?
> I don't care to use gitweb if I can do it with the command line git.
You can specify parent explicitely: "git diff <rev>^1 <rev>" for diff
to first parent, e.g. "git diff HEAD^ HEAD".
>
> git show obviously shows the git combined diff format, at least by default.
>
> Or is the idea of trying to use the diff from the merge commit just
> silly in the first place?
Just so you know that this single diff is not enough to redo a merge.
It is only partial information.
BTW. there is also "git diff-tree -m <rev>") to show diff to *all*
parents at once:
-m By default, `git-diff-tree --stdin` does not show differences for
merge commits. With this flag, it shows differences to that commit
from all of its parents. See also `-c`.
--
Jakub Narebski
Poland
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists