git 커밋 해시가 주어지면 어떤 커널 버전에 해당 해시가 포함되어 있는지 확인하는 방법은 무엇입니까?

git 커밋 해시가 주어지면 어떤 커널 버전에 해당 해시가 포함되어 있는지 확인하는 방법은 무엇입니까?

공식 Linux git 저장소의 최신 패치로 수정된 몇 가지 문제가 있다고 가정해 보겠습니다. 해결 방법이 있지만 수정 사항이 포함된 버전이 출시되면 실행 취소하고 싶습니다. 나는 정확한 git commit 해시를 알고 있습니다.f3a1ef9cee4812e2d08c855eb373f0d83433e34c.

이 질문에 대답하는 가장 쉬운 방법은 무엇입니까? 지금까지 이 패치가 포함된 커널 버전은 무엇입니까? 로컬 Linux git 저장소가 필요하지 않은 경우 보너스 포인트가 있습니다.

(광파 변조몇 가지 아이디어가 논의되었지만 이를 위해서는 로컬 저장소가 필요합니다. )

답변1

~처럼LWN에서 언급됨, 가장 간단한 것은 다음과 같습니다.

git describe --contains f3a1ef9cee4812e2d08c855eb373f0d83433e34c

X-Git-Tag로컬 복제가 필요하지 않은 경우 gitweb의 "일반" 형식 커밋에는 헤더에 동일한 정보가 포함됩니다 .불행하게도 kernel.org는 이 정보를 공개하지 않는 cgit으로 전환했습니다.이전에는 다음과 같이 검색할 수 있었습니다.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff_plain;h=f3a1ef9cee4812e2d08c855eb373f0d83433e34c

여기서는 X-Git-Tag커밋이 이 저장소의 태그된 버전에 없기 때문에 현재 커밋이 실제로 손실됩니다. 하지만 다음과 같은 이전 커밋을 볼 수 있습니다.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff_plain;h=dc0827c128c0ee5a58b822b99d662b59f4b8e970

여기에서 볼 수 있습니다:

X-Git-Tag: v3.4-rc1~184^2~10

이는 "v3.4-rc1" 태그가 내 패치 이후의 첫 번째 태그임을 알려주므로 v3.4에서 볼 수 있을 것으로 예상됩니다.

답변2

존재하다GitHub 핵심 저장소, 모든 태그/커널 버전을 볼 수 있습니다.

dc0827c128c0ee5a58b822b99d662b59f4b8e970제공:짐 패리스:

dc0827c@GitHub 커밋

세 개의 점을 클릭하면 태그/커널 버전의 전체 목록을 볼 수 있습니다.

답변3

오래된 질문이지만 놀랍게도 답변이 없습니다.

git tag --contains <Commit ID>

git 태그의 도움말 메시지:

Tag listing options
     --contains <commit>   print only tags that contain the commit

이를 위해서는 로컬 GIT 저장소가 필요합니다.

이 질문은 제가 해결책을 찾다가 처음으로 얻은 결과였기 때문에 다른 분들에게도 도움이 될 것이라고 생각했습니다.

답변4

커밋을 볼 수 있습니다.github 소스 코드 미러.내 생각엔 넌 할 수 있을 것 같아태그 게시커밋 날짜까지(이 경우 커밋은 5일이고 가장 최근에 태그된 RC master는 7일입니다), 솔직히 소스를 로컬로 복제하면 더 쉽게 얻을 수 있습니다.

관련 정보