Date: Mon, 4 Jan 2021 01:41:29 -0800 From: Mark Millard <marklmi@yahoo.com> To: Ryan Libby <rlibby@freebsd.org> Cc: freebsd-git@freebsd.org Subject: Re: Reporting context with list submittals for defects when local git branches are involved: needs a new description? Message-ID: <29E9AA04-C66B-4298-B84D-6549A88C038B@yahoo.com> In-Reply-To: <CAHgpiFzjKRAkECccUgMWzOoq=syRC9j0hwHR4U6WvJMEf0p%2B_g@mail.gmail.com> References: <89B5ACB3-C05C-40EB-AF0B-5E049928DD6D.ref@yahoo.com> <89B5ACB3-C05C-40EB-AF0B-5E049928DD6D@yahoo.com> <CAHgpiFzjKRAkECccUgMWzOoq=syRC9j0hwHR4U6WvJMEf0p%2B_g@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Jan-4, at 00:39, Ryan Libby <rlibby at freebsd.org> wrote: > On Sun, Jan 3, 2021 at 7:23 PM Mark Millard via freebsd-git > <freebsd-git@freebsd.org> wrote: >>=20 >> I use a main context here to provide an example of the >> issue. I'm not claiming main is the only context with >> the issue. >>=20 >> Taking an extremely simple case where I'm targeting the >> head of what git fetch freebsd provided, with my local >> patches (re)applied via rebase: >>=20 >> # git reflog >> c9819aa7b91c (HEAD -> mm-src) HEAD@{0}: rebase (finish): returning to = refs/heads/mm-src >> c9819aa7b91c (HEAD -> mm-src) HEAD@{1}: rebase (pick): mm-src = snapshot for mm's patched build in git context. >> d03fd8ede2c4 (freebsd/main, freebsd/HEAD, main) HEAD@{2}: rebase = (start): checkout d03fd8ede2c4 >> . . . >>=20 >> One could imagine that I'd picked to work from something >> older than d03fd8ede2c4 (say to avoid a known problem). >> Either way, uname returns the likes of: >>=20 >> # uname -apKU >> FreeBSD FBSDFHUGE 13.0-CURRENT FreeBSD 13.0-CURRENT = mm-src-c255571-gc9819aa7b91c GENERIC-NODBG amd64 amd64 1300133 1300133 >>=20 >> (I've been experimenting with reproducible builds but that >> does not change the point: The identification ends up being >> specific to my local branch, other than the 1300133's.) >>=20 >> Thus it appears that the: >>=20 >> # freebsd-version ; uname -a >> 13.0-CURRENT >> FreeBSD FBSDFHUGE 13.0-CURRENT FreeBSD 13.0-CURRENT = mm-src-c255571-gc9819aa7b91c GENERIC-NODBG amd64 >>=20 >> historically used is not sufficient when local branches are >> involved. >>=20 >> It looks like something like the partial git reflog showing a >> relationship to a freebsd/main or freebsd/HEAD commit is >> effectively required, or at least some wording like a "based on >> freebsd/main d03fd8ede2c4" is required and no tool currently, >> directly provides appropriate information: it is a manual >> operation. >>=20 >> Food for thought. >>=20 >> . . . >>=20 >> _______________________________________________ >> freebsd-git@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-git >> To unsubscribe, send any mail to = "freebsd-git-unsubscribe@freebsd.org" >=20 > Does this show what you expect? > git log --oneline --parents freebsd/main..c9819aa7b91c >=20 > Or for just the "merge base" commit: > git merge-base freebsd/main c9819aa7b91c >=20 > Yes, we should document something like that for filing bugs. >=20 Avoiding the manual lookup and typing of c9819aa7b91c : # git log --oneline --parents freebsd/main..mm-src c9819aa7b91c d03fd8ede2c4 (HEAD -> mm-src) mm-src snapshot for mm's = patched build in git context. # git merge-base freebsd/main mm-src d03fd8ede2c493d0c5a74b625a93a48e018515e1 The first automatically identifies the commit in my mm-src branch, even if mm-src later gets a new HEAD. Having such recorded in a problem report could be important for the originator of the report (but possibly no one else). Cool. Thanks. Showing a more complicated example that also involved reverting a couple of commits so that the loader would display on a amd64 machine (a default text mode context): # git log --oneline --parents = freebsd/main..mm-src-2021-01-02.avoid_framebuffer_console_change 2c557eeab90c ff4c62fe5612 = (mm-src-2021-01-02.avoid_framebuffer_console_change) Revert "loader: = implement framebuffer console" ff4c62fe5612 33700671c435 Revert "loader: fix build on non-x86 = platforms" 33700671c435 486580c44ce2 mm-src snapshot taretting just after = conversion to git. # git merge-base freebsd/main = mm-src-2021-01-02.avoid_framebuffer_console_change 486580c44ce29c1e3b1d9b858a08d9df9428b699 Here only the last line of the "git log --oneline --parents" has an identification as a freebsd/main commit hash and only the first line has the long-branch-name's "at the time" HEAD identifying hash. But knowing about the reverts could still be important information. Adding a named branch that would not get its history rewritten to go with the defect report might be important. So in the mm-src example context earlier, I might not actually use mm-src directly but first create a mm-src.defect-description branch from mm-src instead and then report via mm-src.defect-description . (More to think about.) (I've been doing things mostly to experiment.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?29E9AA04-C66B-4298-B84D-6549A88C038B>