2014-01-17 2 views
2

SVN과 Git간에 동기화하도록 Subgit을 설정합니다.
Subgit은 SVN 업데이트를 수신 대기하는 데몬 프로세스를 실행합니다.Subgit으로 SVN 업데이트를 연결하는 방법

데몬이 SVN을 Git 저장소에 병합 한 후에 뭔가를 실행하고 싶습니다.
어떻게해야합니까?

+0

당신은 당신이에 의해 달성하려고하는지 설명해주십시오 수 있습니다 : 그것은 더 이상 필요하지 않은 것으로

당신은 정기 작업을 사용하려고하는 경우, 그것은 배경 변환 프로세스를 사용하지 않도록하는 것이 무엇입니까? Subversion과 Git 리포지토리를 다른 컴퓨터에 호스팅합니까? – vadishev

+0

@vadishev 이야기입니다. 나는 Gerrit와 Subgit이 함께 작동하도록 노력한다. 먼저 Subgit과 함께 git 저장소 A를 설정하여 원격 SVN 저장소를 동기화합니다. 그럼 나는 Gerrit 사용을 위해 A에서 git mirror B를 만든다. 지금까지 Gerrit replacation plugin을 사용하여 미러 B를 A로 밀어 넣었습니다.하지만 수동으로 B를 A에서 업데이트하여 'git remote update' 명령으로 SVN의 변경 사항을 병합했습니다. Subgit이 SVN에서 업데이트되고 B가 자동으로 업데이트되도록 호출하면 완벽 할 것입니다. – jmuok

답변

2

Subversion 저장소에서 새 버전을 가져올 때 SubGit 2.0.x가 후크를 트리거하지 않습니다. 기능 요청이 있습니다.이 파일을 upvote로 자유롭게 보내주십시오 : SGT-360.

$ cd <working_tree> && git push <remote> +:refs/subgit/command/fetch-sync 
remote: Synchronizing SVN and Git... 
remote: translating SVN revisions to Git commits... 
remote:  translated revision N to commit <hash> 
remote: ... done. 
다음 명령을 실행하여

subgit fetch <GIT_REPO> 
SubGit <version> 
Translating SVN revisions to Git commits... 
    rN => <hash> 
Done. 

또한 트리거 할 수 있습니다 힘내 - SVN 동기화 원격 : 나는 당신이 정기적으로 다음 명령을 실행하는 cron 작업을 사용하는 것이 좋을 것 해결 방법으로

SubGit이 ​​출력을 구문 분석하여 새로운 SVN 수정본을 가져 왔는지를 이해할 수 있습니다.

$ edit <GIT_REPO>/subgit/config 
# [daemon] 
#  idleTimeout = 0 
$ subgit install <GIT_REPO> 
+0

예제에서 적절한 GIT_REPO 매개 변수를 찾아 낼 수 없지만 간단한 '하위 집합 가져 오기'가 나를위한 트릭입니다. – userfuser

관련 문제