Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Apr 2026 12:54:31 -0700
From:      Cy Schubert <Cy.Schubert@cschubert.com>
To:        Chuck Tuffli <chuck@freebsd.org>
Cc:        Jessica Clarke <jrtc27@freebsd.org>, Robert Clausecker <fuz@fuz.su>, Cy Schubert <Cy.Schubert@cschubert.com>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 68e5b71517e9 - main - Vendor import of smart at 1.0.2
Message-ID:  <20260428195431.341281BD@slippy.cwsent.com>
In-Reply-To: <CAKAYmMJmXi7vj8tzAVay90zUjUMY5W_70M5VrqKsWs%2BGLrkL1w@mail.gmail.com>
References:  <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org>  <20260428180947.83C47130@slippy.cwsent.com> <CAKAYmM%2BgVOXQ=jc0wyt3-xkqWi3i9TuCk5rDf7Le5QL5zAGQzQ@mail.gmail.com> <afD9wrh7zwB1wJbz@fuz.su> <CAA16016-6F67-4396-A1A1-CAEF0676EA28@freebsd.org> <CAKAYmMKbqRoXyET9fixJw7PxUHzJdGTYtMbHVuf=7kVrHYx7iw@mail.gmail.com> <CAKAYmMJmXi7vj8tzAVay90zUjUMY5W_70M5VrqKsWs%2BGLrkL1w@mail.gmail.com>

index | next in thread | previous in thread | raw e-mail

In message <CAKAYmMJmXi7vj8tzAVay90zUjUMY5W_70M5VrqKsWs+GLrkL1w@mail.gmail.c
om>
, Chuck Tuffli writes:
> On Tue, Apr 28, 2026 at 12:41=E2=80=AFPM Chuck Tuffli <chuck@freebsd.org> w=
> rote:
> >
> > On Tue, Apr 28, 2026 at 11:40=E2=80=AFAM Jessica Clarke <jrtc27@freebsd.o=
> rg> wrote:
> > >
> > > On 28 Apr 2026, at 19:34, Robert Clausecker <fuz@fuz.su> wrote:
> > >
> > > > Hi Chuck,
> > > >
> > > > Am Tue, Apr 28, 2026 at 11:21:26AM -0700 schrieb Chuck Tuffli:
> > > >> On Tue, Apr 28, 2026 at 11:09=E2=80=AFAM Cy Schubert <Cy.Schubert@cs=
> chubert.com> wrote:
> > > >>>
> > > >>> In message <69f0ea0c.19f57.339fcc06@gitrepo.freebsd.org>, Chuck Tuf=
> fli
> > > >>> writes:
> > > >>>> The branch main has been updated by chuck:
> > > >>>>
> > > >>>> URL: https://cgit.FreeBSD.org/src/commit/?id=3D68e5b71517e947b4e3f=
> 349c970af362b
> > > >>>> 47b45f27
> > > >>>>
> > > >>>> commit 68e5b71517e947b4e3f349c970af362b47b45f27
> > > >>>> Author:     Chuck Tuffli <chuck@FreeBSD.org>
> > > >>>> AuthorDate: 2026-04-28 16:55:50 +0000
> > > >>>> Commit:     Chuck Tuffli <chuck@FreeBSD.org>
> > > >>>> CommitDate: 2026-04-28 17:08:27 +0000
> > > >>>>
> > > >>>>    Vendor import of smart at 1.0.2
> > > >>>>
> > > >>>>    smart/diskhealth is a command line application to monitor disk =
> health
> > > >>>>    from a storage device via SMART.
> > > >>>>
> > > >>>>    Reviewed by:    fuz, jrm
> > > >>>>    Relnotes:       yes
> > > >>>>    Differential Revision:  https://reviews.freebsd.org/D56638
> > > >>>> ---
> > > >>>> contrib/smart/Changelog       |   37 ++
> > > >>>> contrib/smart/LICENSE         |   13 +
> > > >>>> contrib/smart/Makefile        |   26 +
> > > >>>> contrib/smart/freebsd_dev.c   |  828 +++++++++++++++++++++++++
> > > >>>> contrib/smart/libsmart.c      | 1359 +++++++++++++++++++++++++++++=
> ++++++++++
> > > >>>> ++
> > > >>>> contrib/smart/libsmart.h      |  174 ++++++
> > > >>>> contrib/smart/libsmart_desc.c |  158 +++++
> > > >>>> contrib/smart/libsmart_dev.h  |   60 ++
> > > >>>> contrib/smart/libsmart_priv.h |   83 +++
> > > >>>> contrib/smart/smart.8         |  245 ++++++++
> > > >>>> contrib/smart/smart.c         |  334 ++++++++++
> > > >>>> packages/Makefile             |    1 +
> > > >>>> packages/smart/Makefile       |    4 +
> > > >>>> packages/smart/smart.ucl      |   30 +
> > > >>>> usr.sbin/Makefile             |    1 +
> > > >>>> usr.sbin/smart/Makefile       |    8 +
> > > >>>> 16 files changed, 3361 insertions(+)
> > > >>>
> > > >>> Why are we doing vendor imports directly to contrib/? Is this a new
> > > >>> procedure, do we not need to use the vendor branch anymore?
> > > >>
> > > >> Sorry, this is new territory for me, and I may have goofed. My
> > > >> understanding was the upstream code lives in a vendor/* branch (whic=
> h
> > > >> I forgot to push) and the contents are copied to the contrib/*
> > > >> directory and then committed. If this isn't the right thing to do, l=
> et
> > > >> me know how to fix this.
> > > >
> > > > Your understanding is correct, though you are supposed to do a merge
> > > > to tie the vendor branch and the change in the contrib directory
> > > > together, making it clear which state of the vendor branch the contri=
> b
> > > > directory corresponds to.
> > > >
> > > > The best way to fix this is to revert your change and then to retry
> > > > with a merge commit.
> > >
> > > The helpful link seemingly omitted from this thread so far:
> > >
> > > https://docs.freebsd.org/en/articles/committers-guide/index.html#vendor=
> -import-git
> >
> > Apologies for the goof :(
> >
> > Just to make sure I have this all correct, I will
> > 1. Create a branch vendor/smart containing only the pieces from
> > upstream that base needs and commit
> > 2. git tag -a vendor/smart/1.0.2 -m "Tag smart at 1.0.2"
> > 3. git push --follow-tags freebsd vendor/smart
> > 4. git switch main
> > 5. git subtree merge -P contrib/smart vendor/smart

If it's brand new, i.e. never merged into main before, git subtree add 
would be the ticket.

> >
> > Here is where I'm fuzzy on what to do. Am I supposed to push this
> > as-is or am I allowed to make changes? If I can make changes, is that
> > via git commit --amend?
> > Since this is a new import, what commit do the changes to packages/*
> > and usr.sbin/* go? Their own commit or as a part of the merge?
>
> Bah, never mind. Found the directions. Sorry for the noise.

NP.

Subtree merges are a bit of a PITA because git doesn't support them. But 
Warner has written excellent documentation in the committers guide. It's 
easy to mess up though. I've messed up subtree merges a couple of times.


-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy@nwtime.org>    Web:  https://nwtime.org

			e**(i*pi)+1=0




home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20260428195431.341281BD>