From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Mikael Magnusson <mikachu@gmail.com>,
git@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>
Subject: Re: linux-x86-tip: pilot error?
Date: Mon, 23 Jun 2008 02:57:32 -0700 [thread overview]
Message-ID: <20080623095732.GL22569@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080623071441.GA28887@elte.hu>
On Mon, Jun 23, 2008 at 09:14:41AM +0200, Ingo Molnar wrote:
>
> * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
>
> > Trying "git-checkout -b tip-core-rcu
> > tip-core-rcu-2008-06-16_09.23_Mon" acts like it is doing something
> > useful, but doesn't find the recent updates, which I believe happened
> > -before- June 16 2008.
>
> finding the rcu topic branch in -tip can be done the following way:
>
> $ git-branch -a | grep rcu
> tip/core/rcu
Ah!!! Good, that does show me this branch. I created a new branch
"paulmck-rcu-2008-06-23" just out of paranoia.
> and doing a "git-log tip/core/rcu..linus/master" will show you the
> commits that are in the tip/core/rcu topic branch.
>
> if you check out that branch for your own use, you should also do:
>
> $ git-merge linus/master
>
> To bring it up to latest upstream.
OK, that did pull in a number of changes. The gitk tool then shows my
"Merge commit 'linus/master' into paulmck-rcu-2008-06-23" at the head
of the display, with parents as follows:
Parent: 31a72bce0bd6f3e0114009288bccbc96376eeeca (rcu: make rcutorture more vicious: reinstate boot-time testing)
Parent: bec95aab8c056ab490fe7fa54da822938562443d (Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6)
This means that the RCU-related changes show up discontinuously in
the gitk display, but clicking on the left-most connector and selecting
"parent" gets me to the rest of the tip/core/rcu branch, so should be OK,
I guess. ;-)
I then applied my two patches from yesterday (EDT timezone), just for
practice.
These show up after the merge.
But now when I do "git-log tip/core/rcu..linus/master", I get one very
large pile of patches. It apparently includes the stuff I merged from
linus/master. This is expected behavior, correct?
So, if I want to identify the RCU patches since some specific Linus
release (for example, 2.6.26-rc7), I follow the RCU parents down until
I find the desired release tag, then generate diffs from the ranges I
find, right?
Hmmm, actually, no, this bypasses the v2.6.26-rcN tags.
One approach is apparently to use gitk to create a view that includes
the patches touching the RCU-related files. The git-log command
also takes pathname arguments, so that allows me to get an approximation
as well.
I will have to look more at git-log and gitk -- probably I should be
paying more attention to patches adding or deleting the strings
"RCU" or "rcu" to the kernel. ;-)
Is there some way to determine whether a give patch has a tagged
patch (e.g., v2.6.26-rc7) as a child? It would be very cool to
be able to dump only those patches that are not part of v2.6.26-rc7,
as this would allow me to automatically generate the list of
RCU-related patches from linux-2.6-tip to test against this RC.
> That merge, even if tip/core/rcu
> looks "old" will always be conflict-free, due to scripting we do:
>
> tip-core-rcu-2008-06-16_09.23_Mon is not a snapshot of the rcu topic -
> it is "technical" tag of the upstream Linus -git tree against which the
> rcu topic is based.
>
> We have to track the 'base' of every topic separately because otherwise
> we'd pollute the topic branches with the frequent merges to Linus's
> tree. (occasionally we merge to Linus's tree several times a day, that
> would lead to tons of merge commits that pollute the tree)
>
> So instead we do "on-demand virtual merges": we have scripting which do
> the following: in each iteration step they merge to latest Linus, check
> whether there's any files touched by the merge that are changed by the
> topic branch too - if yes then the merge is made permanent and the "this
> is this topic's latest upstream" tag is updated. If the merge was
> conflict-free, we roll back the merge.
Sounds like also tracking patches/transformations as first-class objects
would be a good research project. ;-)
Thanx, Paul
> Is there a Git way of finding the common ancestor of a topic branch,
> when compared to upstream?
>
> Ingo
next prev parent reply other threads:[~2008-06-23 9:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-22 12:36 linux-x86-tip: pilot error? Paul E. McKenney
2008-06-22 12:48 ` Mikael Magnusson
2008-06-22 13:21 ` Paul E. McKenney
2008-06-22 21:11 ` Mikael Magnusson
2008-06-22 21:42 ` Björn Steinbrink
2008-06-22 22:21 ` Paul E. McKenney
2008-06-23 7:14 ` Ingo Molnar
2008-06-23 9:57 ` Paul E. McKenney [this message]
2008-06-23 10:24 ` Ingo Molnar
2008-06-23 11:11 ` Paul E. McKenney
2008-06-23 11:22 ` Ingo Molnar
2008-06-23 16:14 ` Daniel Barkalow
2008-06-23 15:12 ` Jeff King
2008-06-23 15:31 ` Ingo Molnar
2008-06-23 16:05 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080623095732.GL22569@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=git@vger.kernel.org \
--cc=mikachu@gmail.com \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).