2010-12-19 5 views
6

크롬의 최신 버전 인 r69297과 같이 지정된 크롬 버전의 코드가 필요합니다. git을 사용하므로 여기의 지침을 따르십시오. http://code.google.com/p/chromium/wiki/UsingGit 그러나 모든 코드를 동기화하고 커밋 로그를 검토 한 후에이 개정판을 찾을 수 없습니다! 그런 다음 태그에 대해 생각하고 여기에서 검색했습니다. How to use git to checkout a specified version of Webkit? 여기에 나와 있지만 모든 단계를 수행 한 후 꽤 오랜 시간 동안 기다렸다가 아무것도 얻지 못했습니다. 크롬의 git 저장소가 태그 정보를 유지합니까? 내가 어떻게 구할 수 있니? 특정 커밋을 찾을 수없는 경우는 "마스터"가 아닌 다른 지점에 있다면 들으지정된 태그 버전의 Chromium 코드를 git에서 가져 오는 방법은 무엇입니까?

+0

"나는 아직 아무것도 얻지 못합니다"라는게 무엇을 의미합니까? 이 명령을 실행 한 결과를 보여줄 수 있습니까? –

+0

@Jean Hominal : 출력이 없습니다. git 트리에는 개정 69297이없고 r69298 만 있습니다. – ayanamist

+0

Git 저장소의 히스토리를 보려면 gitk를 사용하십시오. 해시로 정확한 커밋을 참조 할 수 있습니다. –

답변

12

는, 크롬은 SVN을 사용했다. 요즘은 git이 기본 VC 시스템이므로 r #### 버전 대신 git 태그/해시를 사용합니다.

이 답변에서는 Chromium 구축을위한 사전 요구 사항 (초기 체크 아웃 포함)을 이미 설정했다고 가정합니다. 그 중 하나가 없다면 계속하기 전에 http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html에있는 자습서를 따르십시오. 아래 단계에서 종속성을 대체하기 때문에 gclient sync 단계를 건너 뛸 수 있습니다.

시나리오 : 최신 안정적인 Chromium 버전 위에 패치를 적용하고 싶습니다. 최신 안정 빌드를 찾으려면 https://omahaproxy.appspot.com/을 방문하십시오. 해당 페이지에 따르면 최신 버전은 38.0.2125.104입니다. 이전/다음 버전을 보려면, 태그 개요를 보려면 http://blink.lc/chromium/refs/을 방문하십시오. 이 태그 목록에는 출시되지 않은 버전이 포함됩니다 (예 : 38.0.2125.106 (새 패치가 세 번째 숫자로 식별자 인 기준선 위에 적용되면 마지막 빌드 번호가 증가합니다).

# Inside chromium/src/ 
git fetch origin 38.0.2125.106 

# Create a new branch "my_stable_branch" that is based on the just-fetched HEAD. 
git checkout -b my_stable_branch FETCH_HEAD 

# ... apply the patch ... 
# (e.g. by editing the files) 
# (e.g. by using git cherry-pick [commit id]) 
# (e.g. by using git checkout [commit id] [file path]) 

# Commit changes (assuming that you want to keep track of your changes) 
git commit -va 

# Now synchronize the dependencies to the current branch 
gclient sync --with_branch_heads # --jobs 16 if you wish to use parallelism 

# Now compile the release build. The output will be stored in src/out/Release. 
ninja -C out/Release chrome chrome_sandbox 
1

지점

, 내가 확인 것입니다. 저장소를 처음으로 복제하면 "마스터"분기 만 얻을 수 있습니다. 당신은 원격 크롬 저장소에 사용할 수있는 브랜치를 체크 아웃하려면 다음을 실행할 수 있습니다

git branch new-local-branch origin/some-remote-branch 
git checkout new-local-branch 

은 분명히 원격 지사에 대한 올바른 이름을 사용하고 논리적 해당 지역의 지점 뭔가 이름을 지정합니다. 당신이 망할 놈의 repo를 복제

태그

, 당신은 기본적으로는 모든 태그를 얻어야한다. git tag 또는 git tag -l을 실행하여 정의 된 모든 태그의 목록을 가져올 수 있습니다. 당신이 어떤 태그가 표시되지 않는 경우

, 명시 적으로 가져 오는 시도 : 당신은 당신이 원하는 태그를 일단

git fetch --tags

는, 코드베이스의 버전을 사용하기 시작 그것을 확인 :

질문은 질문 때

git checkout <name of tag>

관련 문제