threads / discuss / 2996

How do I apply a single "change"

Subject: How do I apply a single "change"

## tl;dr

5 messages between Jan 8, 2006 and Jan 8, 2006.

replies: 4people: 4as markdown or json

Luben Tuikov· Jan 8, 2006, 00:31 UTC · lore

Forgive me for the _incredibly stupid questions_, but how do I apply a single "change", identified by its SHA? Either from one branch to the other or remote?

I.e. I want to "integrate" only that change?

Alternatively, how do I apply the absolute output of "git-format-patch". I tried but whatever I tried with complained that it couldn't find any email addressess. (roll eyes here)

Thanks for the help,
   Luben
Junio C Hamano· Jan 8, 2006, 00:38 UTC · re: Luben Tuikov · lore

Re: How do I apply a single "change"

Luben Tuikov <ltuikov@yahoo.com> writes:
Show 5 quoted lines
> ... how do I apply a single "change", identified
> by its SHA?  Either from one branch to the other or
> remote?
>
> I.e. I want to "integrate" only that change?
$ git-cherry-pick $object_name
> Alternatively, how do I apply the absolute output of
> "git-format-patch".  I tried but whatever I tried with
> complained that it couldn't find any email addressess.
> (roll eyes here)

It is unclear what you mean by absolute output, but here is what I regularly do:

$ git-format-patch -k -m --stdout from to | git am -3 -k
Luben Tuikov· Jan 8, 2006, 00:51 UTC · re: Junio C Hamano · lore

Re: How do I apply a single "change"

--- Junio C Hamano <junkio@cox.net> wrote:
Show 9 quoted lines
> Luben Tuikov <ltuikov@yahoo.com> writes:
> 
> > ... how do I apply a single "change", identified
> > by its SHA?  Either from one branch to the other or
> > remote?
> >
> > I.e. I want to "integrate" only that change?
> 
> $ git-cherry-pick $object_name

Ok, so git searches the db (other branches, etc) and does the job. This worked for me.

How will I do this same thing but if the "change" is on a remote repository?

Show 9 quoted lines
> > Alternatively, how do I apply the absolute output of
> > "git-format-patch".  I tried but whatever I tried with
> > complained that it couldn't find any email addressess.
> > (roll eyes here)
> 
> It is unclear what you mean by absolute output, but here is what
> I regularly do:
> 
> $ git-format-patch -k -m --stdout from to | git am -3 -k

I did $ git-format-patch commit^ commit

and the usual 0001-blah-blah file got created. Then I tried to apply it, but whatever I tried it complained. Will "git-am -3 -k" work without complaining there is no "email field" or something? (I cannot try it as git-cherry-pick worked for me already.)

Thanks,
   Lunen
Andreas Ericsson· Jan 8, 2006, 01:19 UTC · re: Luben Tuikov · lore

Re: How do I apply a single "change"

Luben Tuikov wrote:
Show 11 quoted lines
> --- Junio C Hamano <junkio@cox.net> wrote:
>>
>>$ git-cherry-pick $object_name
> 
> 
> Ok, so git searches the db (other branches, etc) and
> does the job.  This worked for me.
> 
> How will I do this same thing but if the "change" is
> on a remote repository?
> 

You can't. cherry-pick doesn't work on remote repos, so you need to pull that branch to a local one first.

Show 21 quoted lines
> 
>>>Alternatively, how do I apply the absolute output of
>>>"git-format-patch".  I tried but whatever I tried with
>>>complained that it couldn't find any email addressess.
>>>(roll eyes here)
>>
>>It is unclear what you mean by absolute output, but here is what
>>I regularly do:
>>
>>$ git-format-patch -k -m --stdout from to | git am -3 -k
> 
> 
> I did 
> $ git-format-patch commit^ commit
> 
> and the usual 0001-blah-blah file got created.  Then
> I tried to apply it, but whatever I tried it complained.
> Will "git-am -3 -k" work without complaining there is
> no "email field" or something?  (I cannot try it as
> git-cherry-pick worked for me already.)
> 

You need to specify the '--mbox' (or '-m') for git-format-patch, otherwise it can't find author-info in the generated patch and it won't know who committed what.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
Linus Torvalds· Jan 8, 2006, 02:24 UTC · re: Andreas Ericsson · lore

Re: How do I apply a single "change"

On Sun, 8 Jan 2006, Andreas Ericsson wrote:
> 
> You can't. cherry-pick doesn't work on remote repos, so you need to pull that
> branch to a local one first.
"fetch", not "pull".
It's easy enough to get confused anyway, so we should be careful.
		Linus

← back to recent threads