help doing a hotfix bisect: cherry-pick -m ??

2012-09-07 Thread Jim Cromie
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 g...@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.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: help doing a hotfix bisect: cherry-pick -m ??

2012-09-07 Thread Junio C Hamano
Jim Cromie jim.cro...@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.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: help doing a hotfix bisect: cherry-pick -m ??

2012-09-07 Thread Jim Cromie
On Fri, Sep 7, 2012 at 1:27 PM, Junio C Hamano gits...@pobox.com wrote:
 Jim Cromie jim.cro...@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.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html