본문 바로가기

CSE/Tizen

repo init & sync 옵션들

반응형

타이젠 혹은 안드로이드와 같이 전체 소스를 받으면서 repo를 사용하게 되는데 init, sync를 사용하면서 옵션들을 찾아봤다.

https://source.android.com/source/using-repo.html

init

 repo init은 repo를 현재 폴더에 초기화하는 명령어. .repo폴더를 만들어서 안에 Git의 저장소를 넣게 된다. 또한 manifest.xml을 포함하게 되어서 이 .repo/manifests에 심볼릭 링크로 연결되어 있다.


option

  • -u : manifest repository의 url을 지정한다.
  • -m: 저장소에서 manifest file을 선택할 수 있다. 어떤 manifest 이름도 선택되지 않으면 default.xml을 선택하게 된다.
  • -b: revision을 선택하게 된다. 예를 들어서 특정 manifest-branch를 선택하게 된다.

Sync

 repo sync는 변화되었거나 업데이트 된 파일들을 내 환경에 다운로드 한다. 어떤 인자도 포함하지 않고 실행하게 된다면, 모든 프로젝트에 대한 파일들을 받게 된다.

repo sync 실행 시 동작하는 것은 아래와 같다.

  • 프로젝트가 처음 동기화 되는 것이라면, repo sync는 git clone 과 동일하게 동작하게 된다. 모든 branch 들이 local 프로젝트 디렉토리에 카피 되게 된다.
  • 이미 한번 동기화가 동작했었다면 repo sync는 git remote update와 gir rebase origin/BRANCH를 실행한 것과 동일하게 동작한다고 생각하면 된다.  
  • 만약 git rebase operation의 결과가 merge 를 하면서 충돌로 나타난다면, Git commands를 통해서 충돌 문제를 해결해야 한다.

repo sync가 성공적으로 마무리되면 최신의 코드가 저장되게 된다.

option

  • -d : 지정된 프로젝트를 manifest revision으로 변경한다. 만약 프로젝트가 현재 topic branch인데, 임시로 manifest revision이 필요할 경우에 유용하다.
  • -s: 현재 manifest에 있는 manifest-server element를 통해서 지정된 가장 좋은 빌드와 동기화 한다.
  • -f : 프로젝트가 fail 하더라도 다른 프로젝트들과 동기화를 계속 이어간다.
  • -j : job number 쓰레드를 몇개 쓰냐는 것과 비슷하게 동작한다고 생각하면 된다.

 

반응형

'CSE > Tizen' 카테고리의 다른 글

Web API 구현 방안  (1) 2014.09.04
Ubuntu 14.04 LTS에서 Eclipse 에러  (0) 2014.08.09
MIC와 GBS 설치하기  (0) 2014.08.01
repo 버전  (0) 2014.07.29
The Tizeners  (0) 2014.07.28