* help doing a hotfix bisect: cherry-pick -m ??
@ 2012-09-07 18:44 Jim Cromie
2012-09-07 19:27 ` Junio C Hamano
0 siblings, 1 reply; 3+ messages in thread
From: Jim Cromie @ 2012-09-07 18:44 UTC (permalink / raw)
To: git
hi all.
Im trying to add a jumplabel implementation into dynamic-debug,
and have run into an include-dependency problem.
Ive managed to resolve 1 problem, and am now stuck on how to use cherry-pick -m
1st, the problem Ive handled (just for setup, story)
I did a simple hotfix bisection, adding:
--- a/include/linux/dynamic_debug.h
+++ b/include/linux/dynamic_debug.h
+#include <linux/jump_label.h>
+
This bisect run pointed to:
commit b202952075f62603bea9bfb6ebc6b0420db11949
Author: Gleb Natapov <gleb@redhat.com>
Date: Sun Nov 27 17:59:09 2011 +0200
perf, core: Rate limit perf_sched_events jump_label patching
jump_lable patching is very expensive operation that involves pausing al
cpus. The patching of perf_sched_events jump_label is easily controllabl
from userspace by unprivileged user.
...
That commit adds #include <linux/workqueue.h> to dynamic_debug.h,
so I split the workqueue and _deferred elements out to jump_label_deferred.h,
and updated the _deferred users. The result builds cleanly and boots.
However, once I try adding the above hotfix patch again, I get another handful
of compile-errs (minus 1 that got fixed by above)
And now Im running into bisection troubles.
There are a 1/2 dozen patches to jump-label between Gleb's and -rc4,
which make my patch against rc4 inapplicable.
Ive tried to use the cherry-pick example from the help to pick them all up:
but it craps out (tech term)
git rev-list --reverse b2029520..dyndbg/jump-3a --
include/linux/jump_label.h | git cherry-pick -n --stdin
error: could not apply c5905af... static keys: Introduce 'struct
static_key', static_key_true()/false() and static_key_slow_[inc|dec]()
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
So I tried again, adding kernel/jump_label.c
git rev-list --reverse b2029520..dyndbg/jump-3a --
include/linux/jump_label.h kernel/jump_label.c | git cherry-pick -n
--stdin
error: Commit 9e31905f293ae84e4f120ed9e414031eaefa0bdf is a merge but
no -m option was given.
fatal: cherry-pick failed
Ive tried several variations on -m <arg>, trying 1, 2, parent-sha,
(thats quite wrong)
I keep getting this err:
git rev-list --reverse b2029520..dyndbg/jump-3a --
include/linux/jump_label.h kernel/jump_label.c | git cherry-pick -n
--stdin -m 1
error: Mainline was specified but commit
9cdbe1cbac4ec318037297175587a0080acc9d11 is not a merge.
I find the -m help text completely unenlightening.
what is a parent number ?
where does it start from ?
Im trying to cherry pick from master to hotfix-2, I presume thats a
normal/natural usage.
are parent numbers relative to the branch Im on, or the branch Im
cherry-picking from ?
or something else completely.
Broader question:
presuming I do manage to cherry-pick the right set commits, should I
drop the -n ?
Im thinking that having a hotfix branch, and merging --no-commit would
work better,
especially when bisection lands on a commit which already contains
some of those in the hotfix branch.
Am I thinking rightly ? Anything else to add ??
Since concrete, in-context advice would be so much more helpful than
tips using foo, bar, etc,
Ive pushed my branch to github, user jimc, branch dyndbg/jump-3a
git://github.com/jimc/linux-2.6.git
https://github.com/jimc/linux-2.6.git
https://github.com/jimc/linux-2.6/tree/dyndbg/jump-3a
thanks in advance.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: help doing a hotfix bisect: cherry-pick -m ??
2012-09-07 18:44 help doing a hotfix bisect: cherry-pick -m ?? Jim Cromie
@ 2012-09-07 19:27 ` Junio C Hamano
2012-09-07 21:55 ` Jim Cromie
0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2012-09-07 19:27 UTC (permalink / raw)
To: Jim Cromie; +Cc: git
Jim Cromie <jim.cromie@gmail.com> writes:
> Broader question:
> Im thinking that having a hotfix branch, and merging --no-commit would
> work better,
> especially when bisection lands on a commit which already contains
> some of those in the hotfix branch.
When your history leading to the "bad" commit contains only part of
the hot-fix branch and not all of it, that may work better.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: help doing a hotfix bisect: cherry-pick -m ??
2012-09-07 19:27 ` Junio C Hamano
@ 2012-09-07 21:55 ` Jim Cromie
0 siblings, 0 replies; 3+ messages in thread
From: Jim Cromie @ 2012-09-07 21:55 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Fri, Sep 7, 2012 at 1:27 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Jim Cromie <jim.cromie@gmail.com> writes:
>
>> Broader question:
>
>> Im thinking that having a hotfix branch, and merging --no-commit would
>> work better,
>> especially when bisection lands on a commit which already contains
>> some of those in the hotfix branch.
>
> When your history leading to the "bad" commit contains only part of
> the hot-fix branch and not all of it, that may work better.
good, I have a 1/2 grip at least. thank you.
any tips on how to use the -m option ?
Ive had no success passing small integers,
and I need to include the commits from the merged branch
The only alternative I have is to rework the split *_deferred patch
on top of the merge-point, and hope that it tests ok with the original
hotfix patch,
then I can probably do the bisect.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-07 21:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-07 18:44 help doing a hotfix bisect: cherry-pick -m ?? Jim Cromie
2012-09-07 19:27 ` Junio C Hamano
2012-09-07 21:55 ` Jim Cromie
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).