2013-04-05 4 views
1

제가 작업중인 프로젝트에 Gerrit를 소개하고 싶습니다.기존 Git 저장소에서 새 Gerrit 프로젝트 만들기

현재 우리는 이미 일부 코드가 위임 된 git 저장소가 있습니다. 다음과 같이

나는 프로젝트를 초기화했습니다

  1. 자바 -jar 리트 - 풀 2.5.2.war 초기화 --batch -d 리트 - 코드 검토
  2. CD를 리트 - 코드 검토/자식
  3. 자식 복제 --mirror [email protected] : 내-repo.git

가 그럼 난 사용자를 생성하고 권한을 추가로 처리했다.

변경 사항을 확인할 수 있으며 검토하고 게시 할 수 있습니다. 불행히도 thou, 매우 마지막 "git push"(Gerrit에 의해 실행되어야 함)가 일어나지 않습니다. "gerrit-codereview/git/my-repo.git"폴더에서 수동으로 실행하고 "git push"를 실행하면 모든 것이 잘 동작합니다.

아이디어가 있으십니까?

+0

해결 방법은 복제 플러그인 [링크]를 사용하는 것입니다 (https://review.typo3.org/plugins/replication/Documentation/config.html) (복제본에 유의하십시오. ion.jar는 WEB-INF/plugins하에 전쟁 중입니다. –

+0

일찍 입력하십시오. 위의 것이 유일한 방법 일 수 있습니까? –

답변

2

Gerrit는 현재 외부 리포지토리를 마스터로 참조하는 것을 지원하지 않습니다. 복제 플러그인 (Gerrit와 함께 제공됨)을 사용하여 외부 리포지토리에 푸시 할 수 있지만 업스트림에 변경 사항이있을 경우 병합 충돌을 처리하지 않습니다. 이것은 일반적으로 요구되는 기능입니다. 자세한 내용은 자신을 위해 가장 좋은 방법은 How to update gerrit repos with changes submitted directly to git?

+0

안녕하세요. 감사합니다. brad. Gerrit가 설치되면 아무도 _upstream_git에 직접 푸시 할 수 없으므로 충돌을 피할 수 있어야합니다. Gerrit _master_ repo를 _upstream_의 미러로 초기화 했더라도 현재 변경 세트를 _replication plugin_을 통해 전달하는 유일한 방법은 무엇입니까? –

+0

안녕 Giovanni, Gerrit가 변경 사항을 밀어 넣을 수있는 유일한 방법은 복제 플러그인 (또는 다른 사용자 정의 스크립트)을 사용하는 것입니다. 갈등에 대해 걱정할 필요가없는 경우 완벽한 솔루션입니다. – Brad

+0

답장을 보내 주셔서 감사합니다. @ 브라드! –

0

에서 확인할 수에 :

  1. "를 복제 할 프로젝트"원래
  2. 자식 클론 --mirror과 동일한 이름을 가진 리트에서 프로젝트를 만듭니다
  3. mv "프로젝트를 복제했습니다.".git "Gerrit 설치"/ git/

다음은 예제입니다. 내가 라즈베리 리눅스 커널을 복제하고 리트

  1. 만들기에 RPI/리눅스 프로젝트 리트 프로젝트 RPI/리눅스로 찾으려
  2. 은 RM -r "당신의 리트 설치"
  3. 을 /git/rpi/linux.git
  4. 자식 복제 --mirror [email protected] : 라즈베리 파이/linux.git
  5. MV linux.git "당신의 리트 설치"/ 자식/RPI/
관련 문제