Re: using git to get a particular version of src
On Mon, Jan 25, 2021 at 12:35 PM Warner Losh wrote: > > > On Mon, Jan 25, 2021 at 11:55 AM Warner Losh wrote: > >> >> >> On Mon, Jan 25, 2021 at 11:11 AM Yasuhiro Kimura >> wrote: >> >>> From: Chris >>> 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 + (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 + >> >> 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 >> Date: Thu Nov 12 09:26:01 2020 + >> >> 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 >> Date: Wed Nov 11 22:35:23 2020 + >> >> 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 > Date: Tue Nov 10 01:31:06 2020 + > > 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 > Date: Wed Nov 11 08:51:04 2020 + > > 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"
Re: using git to get a particular version of src
On Mon, Jan 25, 2021 at 11:55 AM Warner Losh wrote: > > > On Mon, Jan 25, 2021 at 11:11 AM Yasuhiro Kimura wrote: > >> From: Chris >> 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 + (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 + > > 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 > Date: Thu Nov 12 09:26:01 2020 + > > 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 > Date: Wed Nov 11 22:35:23 2020 + > > 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 Date: Tue Nov 10 01:31:06 2020 + 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 Date: Wed Nov 11 08:51:04 2020 + 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. 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"
Re: using git to get a particular version of src
On Mon, Jan 25, 2021 at 11:11 AM Yasuhiro Kimura wrote: > From: Chris > 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 + (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 + 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 Date: Thu Nov 12 09:26:01 2020 + 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 Date: Wed Nov 11 22:35:23 2020 + umtx: drop incorrect timespec32 definition 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"
Re: using git to get a particular version of src
From: Chris 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 + (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. --- Yasuhiro Kimura ___ 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"
Re: using git to get a particular version of src
On 2021-01-25 08:31, tech-lists wrote: 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? HTH thanks, ___ 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"
Re: using git to get a particular version of src
On Mon, Jan 25, 2021 at 04:31:13PM +, tech-lists wrote: 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 ? OOPS sorry seems this exact same q was asked/answered earlier, pls ignore thanks -- J. signature.asc Description: PGP signature
using git to get a particular version of src
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 ? thanks, -- J. signature.asc Description: PGP signature