Re: using git to get a particular version of src

2021-01-25 Thread Warner Losh
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

2021-01-25 Thread Warner Losh
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

2021-01-25 Thread Warner Losh
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

2021-01-25 Thread Yasuhiro Kimura
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

2021-01-25 Thread Chris

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

2021-01-25 Thread tech-lists

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

2021-01-25 Thread tech-lists

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