On Mon, Jan 25, 2021 at 12:35 PM Warner Losh <i...@bsdimp.com> wrote:
> > > On Mon, Jan 25, 2021 at 11:55 AM Warner Losh <i...@bsdimp.com> wrote: > >> >> >> On Mon, Jan 25, 2021 at 11:11 AM Yasuhiro Kimura <y...@utahime.org> >> wrote: >> >>> From: Chris <bsd-li...@bsdforge.com> >>> Subject: Re: using git to get a particular version of src >>> Date: Mon, 25 Jan 2021 09:21:44 -0800 >>> >>> >> Hi, >>> >> I have this version installed: >>> >> 13.0-CURRENT #0 2ed50808d2b-c254384(main): Thu Nov 12 10:03:35 UTC >>> >> 2020 >>> >> I'd like to get the sources for this (want to make a no-debug kernel) >>> >> as I know >>> >> this version works on this hardware. >>> >> But -current has gone to 14 and what was -current is now >>> >> 13-stable. What git >>> >> incantation is required to get 2ed50808d2b-c254384 sources, given an >>> >> empty >>> >> /usr/src and git method of ssh://anon...@git.freebsd.org ? >>> > I am by *no* means a GIT expert >>> > but will >>> > cd /usr/src >>> > git up 2ed50808d2b >>> > accomplish your intended task? >>> >>> Unfortunately it doesn't work as is expected in this case because hashes >>> of src repostory changed on Dec 6 when it was still beta. >>> >>> HEADS UP: src hashes will respin/change this Sunday >>> https://lists.freebsd.org/pipermail/freebsd-git/2020-December/000548.html >>> >>> In original case it was after this change so hash value can be used to >>> checkout it. But this case is befere hash change. So there isn't hash >>> 2ed50808d2b in current src repository any more. >>> >>> I also faced this problem when I tried to checkout source tree that >>> corresponds to 20201119 snapshot of 13-CURRENT. Fortunately I still >>> kept ISO image of it. So I did following steps to get the source tree. >>> >>> 1. Mount the ISO image >>> 2. Extract src.txz in the ISO image to somewhere (e.g. /tmp/usr/src) >>> 3. cd /usr >>> 4. git clone https://git.freebsd.org/src.git >>> 5. cd src >>> 6. Checkout 65c207758a9 that was committed at Thu Nov 19 21:10:36 >>> 2020 +0000 (the last one committed on Nov 19, 2020) >>> 7. diff -ru /tmp/usr/src /usr/src >>> 8. If there are any differences, checkout f9fe7b28bc2 that is just >>> previous commit of 65c207758a9 >>> 9. Repeat step 7 and 8 until there is no difference between >>> /tmp/usr/src and /usr/src. >>> >> >> We should see how hard it would be to convert c254384 into a git hash... >> >> So, for me: >> >> % git describe >> vendor/tzdata/tzdata2020f-255971-gfa6662b3689e (so my tip of main is >> 255971 vs 254384 or +1587) >> % git log -1 main~1587 >> commit dda1987fe5dbf418b55195990896b0ef0a5b8e4a >> Author: Mateusz Piotrowski <0...@freebsd.org> >> Date: Tue Nov 17 12:04:29 2020 +0000 >> >> Add an example for the -s flag >> >> which is a little late. If you checked out the source and built it ASAP, >> then I'd suggest: >> >> commit f14436adc61a52b29d035791c0b90c0b221bea9a >> Author: Hans Petter Selasky <hsela...@freebsd.org> >> Date: Thu Nov 12 09:26:01 2020 +0000 >> >> Add a tunable sysctl, hw.usb.uaudio.handle_hid, to allow disabling the >> the HID volume keys support in the USB audio driver. >> >> which is the version just before that. Or if you installed from a >> snapshot and rebuilt, The 20201112 snapshot was likely built from >> >> commit 38033780a3f4ed616d638fc0e9ef9a4d309f1fb3 >> Author: Kyle Evans <kev...@freebsd.org> >> Date: Wed Nov 11 22:35:23 2020 +0000 >> >> umtx: drop incorrect timespec32 definition >> > > Oh! git describe is the wrong thing. We're using git rev-list --count, so: > > % git rev-list --count main > 256115 > % echo $((256115-254384) > 1731 > % git log -1 main~1731 > git log -1 main~1731 > commit 94275e3e698b223ccc42e3a637b6667216ca6360 > Author: Mateusz Guzik <m...@freebsd.org> > Date: Tue Nov 10 01:31:06 2020 +0000 > > threads: remove the unused TID_BUFFER_SIZE macro > > But, there's a problem, or a disconnect. git rev-list counts both the > commits on main, and the number of commits for merge commits that are on > the second parent back to the last common ancestor. this is surprising > behavior, and we'll likely change it, but for systems before the change you > need to do some searching: > > % git rev-list --count main~1731 > 254360 > % git rev-list --count main~1707 > 254384 > > So this is the one you really want: > > commit 26007fe37c06fe0b61634083befb7f9eb87c08c0 > Author: Mateusz Guzik <m...@freebsd.org> > Date: Wed Nov 11 08:51:04 2020 +0000 > > thread: add more fine-grained tidhash locking > > (that's assuming the commit counts from before the re-hashing were > identical, which I have no way of knowing or testing). > > The truth is, though, any of these will likely be 'good enough' to have a > working system. > P.S. Due to this mismatch, I'm going to propose we move to git rev-list --first-parent --count Warner _______________________________________________ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"