Re: Getting /usr/src to match specific git hash?

From: monochrome <monochrome_at_twcny.rr.com>
Date: Sun, 24 Jan 2021 19:20:59 -0500
after looking in the git log for the hash I use:

git -C /usr/src reset --hard <hash>

you will lose any local changes


On 1/24/21 5:40 PM, Steve Kargl wrote:
> On Sun, Jan 24, 2021 at 03:22:18PM -0700, Warner Losh wrote:
>> On Sun, Jan 24, 2021, 12:14 PM Steve Kargl <sgk_at_troutmask.apl.washington.edu>
>> wrote:
>>
>>>
>>> Any advice on how to jump, say, 4 days ahead of the current
>>> date of the src/ tree?  That is, I have src/ that should
>>> correspond to 24 Dec 2020.  How do I jump to 28 Dec 2020?
>>>
>>
>> You could use git bisect, but as you say, the laundry list is extensive.
>>
>> Git doesn't offer checkout by date, alas. So here's some tools to help you
>> out.
>>
>> First, let's get a count of how many commits behind main you are at the
>> moment. Use 'git log --oneline --first-parent HEAD..main | wc' to get a
>> count of the number of commits between what you have checked out and the
>> tip of current. My count is 994, but I just updated, so your count will
>> differ and that's OK.The --first-parent in the git log above is critical,
>> since otherwise a number of commits from vendor merges in the vendor
>> branches will appear in git log's output, throwing the count off).
>>
>> Now, this is 1 month worth of -current. 4 days in the month is about 13%.
>> However, let's keep things simple and step forward 100 commits at a time
>> (which is 10% of 1000). The precise numbers don't matter, but it works out
>> well in this case.
>>
>> So, your commit is:
>> % git log -1 3cc0c0d66a0
>> Author: Li-Wen Hsu <lwhsu_at_FreeBSD.org>
>> Date:   Sun Dec 20 02:59:44 2020 +0000
>>
>>      Mark the repository as being converted to Git.
>>
>> which is the last subversion commit. It's also head~994, you can do a 'git
>> log -1 main~900' to verify that. So, let's move forward 94 commits. This
>> would be:
>>
>> % git log main~900
>> commit 8d405efd73d3991fe1647f91a2b7c9989dd5f18f
>> Author: Ulrich Sp<C3><B6>rlein <uqs_at_FreeBSD.org>
>> Date:   Wed Dec 23 22:29:34 2020 +0100
>>
>>      Fix newvers.sh to no longer print an outdated SVN rev
>>
>> which is 3 days newer and may be a good place to start:
>>
>> % git checkout main~900
>>
>> and that will move you forward 94 commits. Do it again with main~800, etc
>> to find a spot that's good for you. Not as convenient as giving dates, but
>> once you have a count of the number of commits between where you are and
>> head, you can use that number to decide how far forward to go.
>>
>> You can adjust this as needed. If you don't do a git pull during this
>> process (and you likely shouldn't) these numbers will be stable, and a lot
>> easier to work with than hashes. I've found I like to move N commits rather
>> than N days.
>>
>> Hope this is helpful. Sadly I found no way to say HEAD+50 commits directly
>> in git, but maybe one of the more knowledgeable folks on this list can give
>> a better hint there.
>>
>> Warner
>   
> Thanks for the thorough reply!  After David's response
> I started to think (yes, I should do that more often)
> about the mailing list archive dev-commits-src-main.
> Each subject line starts with, for example,
> "git: 68dc94c7d314 - main -". I assume that the hash
> value is sufficient to grab a src/ up to and including
> the commit.  Will the following
> 
> % cd /usr/src                # This is at 3cc0c0d66a0
> % git checkout 68dc94c7d314  # Update to last commit in 2020.
> 
> bring the src/ update to 68dc94c7d314 or do
> I need to use 'git pull <some optio> 68dc94c7d314'?
> 
Received on Sun Jan 24 2021 - 23:21:03 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:26 UTC