Re: [PATCH 3/4] ndctl: switch to tools/include/linux/{kernel, list, bitmap}.h

From: Dan Williams
Date: Wed Jul 26 2017 - 14:15:07 EST


On Wed, Jul 26, 2017 at 10:57 AM, Arnaldo Carvalho de Melo
<acme@xxxxxxxxxx> wrote:
> Em Wed, Jul 26, 2017 at 10:31:48AM -0700, Dan Williams escreveu:
>> On Wed, Jul 26, 2017 at 10:19 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>> > * Dan Williams <dan.j.williams@xxxxxxxxx> wrote:
>> >> On Wed, Jul 26, 2017 at 4:29 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>> > which I could initially mistake for a commit about scheduler completions ;-)
>> >
>> > Or:
>
>> > 2ad6a39c9ae9: Fix attribute sizes to match NFIT 0.8s2
>> > cc7cb44385d3: Import initial infrastructure
>
>> > etc.
>
>> > I suppose all that could be corrected, SOBs added, titles clarified and prefixed
>> > with tools/ndctl, but then it wouldn't really be unmodified history anymore,
>> > right?
>
>> > At that point we might as well do a clean start - and not import ~500 extra
>> > commits into the kernel tree?
>
>> I think keeping the history is worth it, similar reasoning to why we
>> kept the btrfs history. Also, since the history is linear and already
>> rewritten by 'git filter-branch' to move everything to tools/ndctl/ it
>> wouldn't be that much more work to go clean up these few commits that
>> are problematic.
>
> Hey, but we can have something like:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/
>
> It goes all the way to the 0.12 kernel.
>
> If someone wants to go that far, just clone that tree, merge it, etc.
>
> Could that be the solution for this case as well?
>
> I.e. the kernel history prior to what we have in linux.git can be
> accessed via that other tree, history.git, can we have ndctl-history.git
> and linux.git + ndctl from now on?

That will have to be the option if Linus finds the history
unpalatable, but reading the comedi inclusion thread [1] I came away
with this, quoting Linus:

---

I'd _like_ for old history to be merged, but quite frankly, bisectability
is a fairly big deal, and while we often have cases where a _few_ commits
don't build and make bisecting hard, if you import the past development
history badly, you can easily end up with _hundreds_ of commits that
simply don't build as a kernel at all.

And at some point the "nice to have" history is suddenly "more pain than
it is worth".

---

So, the bigger reason to not include the full history is the potential
for 'git bisect' confusion where you end up in the ndctl history and
the rest of the kernel tree disappears.

> If you prefer to go full merge, then I think prefixing + SOB'ing should
> be done, right?

Yes, definitely, and it's otherwise simple enough to switch to the
forklift import at the last moment if it comes to that.

[1]: https://lkml.org/lkml/2008/10/30/356