기존 소스코드를 기준으로 git에서 그 소스에 가까운 리비젼을 찾는게 가능할까요?
글쓴이: 정상인 / 작성시간: 토, 2011/10/29 - 10:29오후
리비전 컨트롤은 프로그래밍Q/A인지 설치/활용Q/A인지 잘 모르겠네요.
취미삼아 스마트폰에 사용할 안드로이드를 빌드하고 있습니다.
스마트폰 제작사에서 예전에 배포한 오픈소스가 있는데, 그 소스가 Codeaurora에서 배포한 수정된 안드로이드본을 추가로 수정한 물건입니다.
그걸 찾아서 diff하고자 하는데, 정확히 무슨 버전을 사용했는지 정보가 없습니다.
그래서,혹시 가지고 있는 소스코드를 사용해서 이 소스코드가 어느 리비전에서 수정되었는지를 찾아내는 것은 불가능할까요?
참고로 그 사이트에서의 버전관리는 git으로 이루어지고 있습니다.
감사합니다.
참고로 제작사에서 배포한 소스는 LG전자에서 배포중인 옵티머스Q 프로요 오픈소스판이고 관련된 리비전을 찾고자 뒤지고 있는 곳은 codeaurora.org의 MSM관련 안드로이드 프로젝트 git입니다. 현재 작업중인 부분은 리눅스 커널쪽입니다.
Forums:
일단 자답.
http://stackoverflow.com/questions/7779369/find-git-revision-of-a-working-directory-missing-the-git-directory
일단 자답 달아둡니다. 위 사이트에 나온 방법으로 진행중입니다. 될지 안될진 모르겠습니다만..
다만 꽤 전에 돌려뒀는데 끝날 조짐이 안보입니다. 작업중인 컴퓨터도 워낙 느린 환경이고 레포도 크다 보니 그런거 같네요.
참고로 계산해보니 약 1주일이 걸리는 거 같습니다.(..) 그렇다고 개선법을 생각하긴 귀찮고 하니 그냥 돌려놓고 며칠동안 묵혀두게 될 듯 합니다.
제 경우 경험을 말씀드리면 1. 일단
제 경우 경험을 말씀드리면
1. 일단 CodaAurora git repo를 clone하고
2. 커널 버전으로 브랜치를 추측하고 날짜를 기반으로 해서 적당한 시점을 추측합니다.
3. 추측한 시점으로 체크아웃 브랜치 => diff
4. 2->3 반복해서 최대한 적은 diff가 나올때까지 해봅니다.
그냥 무작정 돌리는 것보다 이게 오히려 빠를 수 있습니다. 몇번 해보다 보면 패치의 윤곽도 드러나게 되죠.
감사합니다.
감사합니다. 돌리다가 답답하다 싶으면 시도해 보겠습니다.
댓글 달기