* Re: How can I download a git commit as a diff patch?
[not found] ` <20090930190014.GA22161@csclub.uwaterloo.ca>
@ 2009-09-30 19:38 ` Alejandro Riveira Fernández
2009-09-30 20:10 ` Jakub Narebski
0 siblings, 1 reply; 5+ messages in thread
From: Alejandro Riveira Fernández @ 2009-09-30 19:38 UTC (permalink / raw)
To: Lennart Sorensen; +Cc: Randy Dunlap, Andy, linux-kernel, git
El Wed, 30 Sep 2009 15:00:14 -0400
CCing git@vger.kernel.org ??
lsorense@csclub.uwaterloo.ca (Lennart Sorensen) escribió:
> On Wed, Sep 30, 2009 at 08:55:00AM -0700, Randy Dunlap wrote:
> > On Wed, 30 Sep 2009 10:44:10 -0500 Andy wrote:
> >
> > > I just want to down a particular git commit as a patch, not a git commit or
> > > anything. Yes, I can see the diffs on the web, but unless I am missing
> > > something all are in unless html formats for me. And cut and past from the
> > > web page does not help either because some lines get mangled. Is there some
> > > site, or git itself, that would allow be to get the git commit as a simple
> > > patch?
> >
> > Look at the commitdiff using the web interface, then click on "raw" near
> > the upper left corner.
>
> Of course some git diff's are not in a format that patch will like as
> far as I can tell.
>
> For example commit 6cdee2f96a97f6da26bd3759c3f8823332fbb438 which has
> stuff like:
> diff --cc drivers/net/ixp2000/ixpdev.c
> index 588b44d,92fb823..1272434
> --- a/drivers/net/ixp2000/ixpdev.c
> +++ b/drivers/net/ixp2000/ixpdev.c
> @@@ -67,9 -68,9 +68,9 @@@ static int ixpdev_xmit(struct sk_buff *
> ip->tx_queue_entries++;
> if (ip->tx_queue_entries == TX_BUF_COUNT_PER_CHAN)
> netif_stop_queue(dev);
> - local_irq_enable();
> + local_irq_restore(flags);
>
> - return 0;
> + return NETDEV_TX_OK;
> }
>
>
>
> Ehm, what does that mean? patch doesn't like it.
>
> Do git merges cause weird diffs?
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: How can I download a git commit as a diff patch?
2009-09-30 19:38 ` How can I download a git commit as a diff patch? Alejandro Riveira Fernández
@ 2009-09-30 20:10 ` Jakub Narebski
2009-09-30 20:25 ` Lennart Sorensen
0 siblings, 1 reply; 5+ messages in thread
From: Jakub Narebski @ 2009-09-30 20:10 UTC (permalink / raw)
To: Alejandro Riveira Fernández
Cc: Lennart Sorensen, Randy Dunlap, Andy, linux-kernel, git
Alejandro Riveira Fernández <ariveira@gmail.com> writes:
> El Wed, 30 Sep 2009 15:00:14 -0400
>
> CCing git@vger.kernel.org ??
>
> lsorense@csclub.uwaterloo.ca (Lennart Sorensen) escribió:
>
>> On Wed, Sep 30, 2009 at 08:55:00AM -0700, Randy Dunlap wrote:
>>> On Wed, 30 Sep 2009 10:44:10 -0500 Andy wrote:
>>>
>>>> I just want to down a particular git commit as a patch, not a git commit or
>>>> anything. Yes, I can see the diffs on the web, but unless I am missing
>>>> something all are in unless html formats for me. And cut and past from the
>>>> web page does not help either because some lines get mangled. Is there some
>>>> site, or git itself, that would allow be to get the git commit as a simple
>>>> patch?
>>>
>>> Look at the commitdiff using the web interface, then click on "raw" near
>>> the upper left corner.
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).
>>
>> Of course some git diff's are not in a format that patch will like as
>> far as I can tell.
>>
>> For example commit 6cdee2f96a97f6da26bd3759c3f8823332fbb438 which has
>> stuff like:
>> diff --cc drivers/net/ixp2000/ixpdev.c
>> index 588b44d,92fb823..1272434
>> --- a/drivers/net/ixp2000/ixpdev.c
>> +++ b/drivers/net/ixp2000/ixpdev.c
>> @@@ -67,9 -68,9 +68,9 @@@ static int ixpdev_xmit(struct sk_buff *
>> ip->tx_queue_entries++;
>> if (ip->tx_queue_entries == TX_BUF_COUNT_PER_CHAN)
>> netif_stop_queue(dev);
>> - local_irq_enable();
>> + local_irq_restore(flags);
>>
>> - return 0;
>> + return NETDEV_TX_OK;
>> }
>>
>>
>>
>> Ehm, what does that mean? patch doesn't like it.
>>
>> Do git merges cause weird diffs?
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.
--
Jakub Narebski
Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: How can I download a git commit as a diff patch?
2009-09-30 20:10 ` Jakub Narebski
@ 2009-09-30 20:25 ` Lennart Sorensen
2009-09-30 20:40 ` Jakub Narebski
0 siblings, 1 reply; 5+ messages in thread
From: Lennart Sorensen @ 2009-09-30 20:25 UTC (permalink / raw)
To: Jakub Narebski
Cc: Alejandro Riveira Fernández, Randy Dunlap, Andy,
linux-kernel, git
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.
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?
--
Len Sorensen
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: How can I download a git commit as a diff patch?
2009-09-30 20:25 ` Lennart Sorensen
@ 2009-09-30 20:40 ` Jakub Narebski
2009-09-30 21:07 ` Lennart Sorensen
0 siblings, 1 reply; 5+ messages in thread
From: Jakub Narebski @ 2009-09-30 20:40 UTC (permalink / raw)
To: Lennart Sorensen
Cc: Alejandro Riveira Fernández, Randy Dunlap, Andy,
linux-kernel, git
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: How can I download a git commit as a diff patch?
2009-09-30 20:40 ` Jakub Narebski
@ 2009-09-30 21:07 ` Lennart Sorensen
0 siblings, 0 replies; 5+ messages in thread
From: Lennart Sorensen @ 2009-09-30 21:07 UTC (permalink / raw)
To: Jakub Narebski
Cc: Alejandro Riveira Fernández, Randy Dunlap, Andy,
linux-kernel, git
On Wed, Sep 30, 2009 at 10:40:16PM +0200, Jakub Narebski wrote:
> You can specify parent explicitely: "git diff <rev>^1 <rev>" for diff
> to first parent, e.g. "git diff HEAD^ HEAD".
>
> Just so you know that this single diff is not enough to redo a merge.
> It is only partial information.
Yes certainly in some cases. Often you can pick specific patches and
a few patches they depend on to try and fix something, but for bigger
changes it doesn't work. I am actually surprised it has been this long
before I ever saw one of these combined diff's. I must have been lucky
so far.
> 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`.
I will have to try that one out.
--
Len Sorensen
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-09-30 21:08 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20090930154410.GA31502@thumper2>
[not found] ` <20090930085500.a5856301.rdunlap@xenotime.net>
[not found] ` <20090930190014.GA22161@csclub.uwaterloo.ca>
2009-09-30 19:38 ` How can I download a git commit as a diff patch? Alejandro Riveira Fernández
2009-09-30 20:10 ` Jakub Narebski
2009-09-30 20:25 ` Lennart Sorensen
2009-09-30 20:40 ` Jakub Narebski
2009-09-30 21:07 ` Lennart Sorensen
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 NNTP newsgroup(s).