From: Fengguang Wu <fengguang.wu@intel.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Xiaolong Ye <xiaolong.ye@intel.com>,
git@vger.kernel.org, ying.huang@intel.com, philip.li@intel.com,
julie.du@intel.com,
Linus Torvalds <torvalds@linux-foundation.org>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Christoph Hellwig <hch@lst.de>, "H. Peter Anvin" <hpa@zytor.com>,
Dan Carpenter <dan.carpenter@oracle.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [RFC/PATCH 1/1] format-patch: add an option to record base tree info
Date: Tue, 23 Feb 2016 17:17:40 +0800 [thread overview]
Message-ID: <20160223091740.GA3830@wfg-t540p.sh.intel.com> (raw)
In-Reply-To: <xmqqio1f3oi9.fsf@gitster.mtv.corp.google.com>
Hi Junio and All,
CC more relevant people. FYI this thread starts here:
http://thread.gmane.org/gmane.comp.version-control.git
On Mon, Feb 22, 2016 at 10:54:38PM -0800, Junio C Hamano wrote:
> Fengguang Wu <fengguang.wu@intel.com> writes:
>
> > Hi Junio,
> >
> > On Sun, Feb 21, 2016 at 08:19:56PM -0800, Junio C Hamano wrote:
> >> Xiaolong Ye <xiaolong.ye@intel.com> writes:
> >>
> >> > It would be helpful for maintainers or reviewers to know the base tree
> >> > info of the patches created by git format-patch. Teach git format-patch
> >> > a --base-tree-info option to record these info.
> >> >
> >> > Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
> >> > ---
> >>
> >> I have a mixed feeling about this one, primarily because this was
> >> already tried quite early in the life of "format-patch" command.
> >>
> >> http://thread.gmane.org/gmane.comp.version-control.git/9694/focus=9757
> >>
> >> Only the name is different (it was called "applies-to" and named a
> >> tree object).
> >
> > Either commit or tree object will work for us. We can use it in
> > v2 if you prefer tree object.
>
> Sorry, I think you misunderstood. By only the name is different, I
> didn't mean to say that the tree object name should be shown as the
> old proposal did. What I meant but didn't explicitly say, as I
> thought it was sufficient to point at an old discussion thread, was
> that this was already tried and rejected. This round uses different
> name but does essentially the same thing as the old proposal, and I
> do not think I heard anything new that supports this patch against
> earlier rejection by Linus. That is what gave me a mixed feeling.
I can understand the rejection by Linus in development process POV.
However we are facing a new situation: in test robot POV, IMHO there
are values to test exactly the same tree as the patch submitter.
Otherwise the robot risks
- false negative: failing to apply and test some patches
- false positive: sending wrong bug reports due to guessed wrong base tree
> >> Is it your goal to insist on one exact commit the patch is applied
> >> to?
> >
> > Right. Our goal is fully automated patch testing, where the base tree
> > info is required for *reliably* avoid reporting false positives.
> >
> > A clean git-apply does not guarantee the resulted code is logically
> > consistent and hence testable by 3rd party. For a 3rd party tester to
> > provide useful and trustable test reports, he must apply the patch to
> > exactly the same base as the patch submitter.
>
> The patch submitter (or you as a third party tester) is not in the
> position to dictate the integrator to apply the patch to one
> specific commit and use it from there. The integrator would pick an
> appropriate base that would be different from the commit where the
> patch was taken from, apply it there, and merge the result to the
> tip of the mainline, or apply the patch directly to the tip of the
> mainline. Even if the integrator picked the commit the patch was
> taken from, the result would not be used alone without any other
> changes, i.e. before getting merged into the integration branch.
Yeah. Per my understanding the base commit info will be mainly parsed
by test robots instead of integrators.
> So in that sense, any test that is done by the patch submitter and
> the third party tester would not be what will be released to the
> wild *anyway*. The resulting code will be exercised in a context
> that *is* different from the context the original author had.
That's right. But no worry, when the patch is merged by maintainer,
we'll test it once again in the maintainer tree.
Pre-merge patch testing is useful in 2 ways:
- shift left testing to early review stage
- maintainer trees are typically not rebaseable. When errors are
discovered there, it's a bit too late: the error will likely remain
in git history for ever. Which will hurt bisects.
> I can see that recording the exact commit object name allows you to
> claim that you identified the exact commit to apply the patch, and
> that you tested the exact tree contents. It however is unclear what
> the value of such a claim would be to the project or to the
> integrator.
The value of base commit info is: providing a solid ground to the
tester, to reliably avoid false positive/negatives.
> So I dunno.
FYI, the 0day test robot will be able to work better if provided the
base commit info. It'll work a bit more sophisticated than simply
relying on the base commit info: if it's sure about the tree the patch
is targeted for (or the maintainer would apply to), it'll use that as
base tree[*]; otherwise it'll fall back to using the base commit info
included in the patchset.
[*] For examples,
[PATCH -mm] ...
[PATCH net] ...
For such patches we are sure they are targeted for the well known
mm/net trees.
Anyway the worst case of not adopting the discussed patch is, the 0day
test robot continue to work in current heuristic way.
Thanks,
Fengguang
next parent reply other threads:[~2016-02-23 9:17 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1456109938-8568-1-git-send-email-xiaolong.ye@intel.com>
[not found] ` <1456109938-8568-2-git-send-email-xiaolong.ye@intel.com>
[not found] ` <xmqqmvqt8jgz.fsf@gitster.mtv.corp.google.com>
[not found] ` <20160223014741.GA21025@wfg-t540p.sh.intel.com>
[not found] ` <xmqqio1f3oi9.fsf@gitster.mtv.corp.google.com>
2016-02-23 9:17 ` Fengguang Wu [this message]
2016-02-23 9:23 ` H. Peter Anvin
2016-02-23 9:32 ` Fengguang Wu
2016-02-23 10:32 ` Dan Carpenter
2016-02-23 12:00 ` Fengguang Wu
2016-02-23 13:31 ` Dan Carpenter
2016-02-24 2:55 ` Fengguang Wu
2016-02-24 6:30 ` Junio C Hamano
2016-02-24 7:07 ` Fengguang Wu
2016-02-24 18:34 ` Junio C Hamano
2016-02-23 19:51 ` Junio C Hamano
2016-02-23 20:08 ` Eric W. Biederman
2016-02-23 20:35 ` Junio C Hamano
2016-02-23 20:46 ` H. Peter Anvin
2016-02-23 21:49 ` Eric W. Biederman
2016-02-24 1:40 ` H. Peter Anvin
2016-02-23 22:21 ` Stefan Beller
2016-02-24 10:31 ` Michael J Gruber
2016-02-24 6:19 ` Junio C Hamano
2016-02-24 3:36 ` Fengguang Wu
2016-02-24 3:13 ` Fengguang Wu
2016-02-23 19:56 ` Eric W. Biederman
2016-02-24 2:30 ` Fengguang Wu
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=20160223091740.GA3830@wfg-t540p.sh.intel.com \
--to=fengguang.wu@intel.com \
--cc=dan.carpenter@oracle.com \
--cc=ebiederm@xmission.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=hch@lst.de \
--cc=hpa@zytor.com \
--cc=julie.du@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=philip.li@intel.com \
--cc=torvalds@linux-foundation.org \
--cc=xiaolong.ye@intel.com \
--cc=ying.huang@intel.com \
/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
Powered by JetHome