From: "David Woodhouse" <dwmw2@infradead.org>
To: Laszlo Ersek <lersek@redhat.com>,
devel@edk2.groups.io, Mike Maslenkin <mihailm@parallels.com>
Subject: Re: [edk2-devel] [edk2] [PATCH] OvmfPkg: QemuVideoDxe: Int10h stub for Windows 2008 R2 SP1 (stdvga, QXL)
Date: Mon, 24 Jun 2019 14:10:34 +0100 [thread overview]
Message-ID: <c228d2b5a957c938a52deaba9fcfc764d93624f1.camel@infradead.org> (raw)
In-Reply-To: <920cf69f-8ec8-616a-4a07-9e93e88f81b6@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3104 bytes --]
On Thu, 2019-06-20 at 16:41 +0200, Laszlo Ersek wrote:
> We've never merged pull requests before, but I remember that you prefer
> those (because you dislike an edk2 subsys maintainer rebasing your
> branch from your original fork-off point). So I'm not asking for the
> patch email because I insist on using "git-am". I'm asking for it
> because we'd like to review every patch on the list, for now.
Going back to this... I generally prefer *everyone* to use the git
workflow as $DEITY intended it, not just for my own submissions.
When a developer writes and — perhaps more to the point — tests a
patch, they have done so against a specific version of the project.
With the proper git workflow, their contribution is merged with the
correct parent information. The version control system is doing its job
correctly and recording what actually happened; not an approximation of
it.
With git-am being used to apply those contributions on a later version
of the tree, there is a *theoretical* possibility that some other
seemingly innocuous change elsewhere in the tree just happens to break
the newly-submitted code.
The thing is: over time, at scale, the chances of that theoretical,
highly unlikely, incompatibility happening approach 1.
Anyone who has experience maintaining out-of-tree patches for any
project over time will have seen this. Your patchset suddenly doesn't
work, although it applied cleanly to the source tree, and you have to
go hunting for whatever strange locking or other environment issue, or
API semantics, broke it since you last updated.
If — no, WHEN — this kind of thing happens, you can end up with code
being merged which, according to the recorded history, never actually
worked at all. There is no way to use tools like 'git bisect' to find
the working point, and what went wrong. It simply *never* worked,
because the true history has been thrown away and not stored in the
version control system. The version control system had *one* job, and
you haven't allowed it to do that.
And yes, it's unlikely and infrequent. But it *does* happen, and that's
why we should use the tools properly as a matter of habit.
For my own patches of course I do a 'git pull --rebase' occasionally to
ensure that it all still works when my patches are applied on top of
the git master branch. But even with the best intentions, that isn't
really good enough. Because all the exhaustive manual testing of
various corner cases (adding multiple boot targets, checking that
selecting each of them does the right thing, turning 64-bit BARs on and
off and doing builds with various different configs) is not happening
when I do that 'git pull --rebase' smoke test. So even with me doing
some basic retesting, it's possible that something ends up getting
committed that, for some esoteric corner case, apparently never worked
even though it *did* actually work when I wrote the code. And when we
realise that in a year's time and look back, the version control system
won't help us because we didn't use it properly.
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 5174 bytes --]
prev parent reply other threads:[~2019-06-24 13:10 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1399571116-26442-1-git-send-email-lersek@redhat.com>
[not found] ` <CAFe8ug8xKBXpvwP_O1AdzC1Ph4hYhp6PMRX+SmaBXaWxZ2J5VQ@mail.gmail.com>
[not found] ` <5370CA20.1030504@redhat.com>
[not found] ` <1399911663.21359.36.camel@mg-think.sw.ru>
2019-06-17 10:52 ` [edk2] [PATCH] OvmfPkg: QemuVideoDxe: Int10h stub for Windows 2008 R2 SP1 (stdvga, QXL) David Woodhouse
2019-06-19 21:57 ` Laszlo Ersek
2019-06-20 8:59 ` David Woodhouse
2019-06-20 14:41 ` [edk2-devel] " Laszlo Ersek
2019-06-20 16:08 ` David Woodhouse
2019-06-24 13:10 ` David Woodhouse [this message]
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-list 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=c228d2b5a957c938a52deaba9fcfc764d93624f1.camel@infradead.org \
--to=devel@edk2.groups.io \
/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