2010-07-20 7 views
5

몇 달 전에 svn 저장소로 git를 구성했습니다. 지금까지는 svn 저장소를 사용하여 제공된 응용 프로그램을 최신 상태로 유지했습니다. 하지만 이제 나는 물건을 다시 돌려주고 싶다. 이렇게하려면 커밋 할 모든 기능이 별도의 지점에 있어야합니다. 나는 당신이 새로운 지점 등을 어떻게 만들어야하는지에 관해 읽었다. 그러나 나는 나의 자식을 잘못 구성했다고 생각한다. 나는 어떤 지점 정보도 갖고 있지 않다. 나는 단지 트렁크 정보 만 가지고 있다고 생각한다.git-svn 브랜칭 : git config를 구성하는 방법

[remote "origin"] 
    url = url-of-git-repository 
    fetch = +refs/heads/*:refs/remotes/origin/* 
[svn-remote "svn"] 
    url = url-of-svn-repository/trunk 
    fetch = :refs/remotes/git-svn 
[branch "master"] 
    merge = refs/heads/master 
    remote = origin 
... other branch information below (these are git branches) 

을 이제 내 SVN - 원격 URL 트렁크에 직접가는 볼 수 있습니다 : 이것은 내 SVN 저장소가 내 자식 설정에서 설정 한 방법이다. 나는이를 추가하는 방법에 대해 읽어

branches = branches/*:refs/remotes/* 

을하지만 난 후 새로운 지점을 만들 때이 /가/가지를 트렁크에 추가됩니다. 내가 줄을 추가하지 않으면 대상이 지점의 내용을 알지 못합니다.

기존 분기, 코드 등을 깨지 않고 이것을 해결하는 방법에 대해 알고 싶습니다.

접견, Daan

답변

6

나는 가지 구성이 SVN - 원격 URL을 기준으로 생각합니다.

여기

[svn-remote "svn"] 
     url = url-of-svn-repository 
     fetch = foo/trunk:refs/remotes/trunk 
     branches = foo/branches/*:refs/remotes/* 
     tags = foo/tags/*:refs/remotes/tags/* 

당신은 시도 할 수 있었다 (우리가 보통 트렁크/지점/태그 구조를 가지고있는 폴더 foo는 내부에서) 우리의 구성은

git svn -s url-of-svn-repository/foo

을 수행하여 만들어진 방법이다 이 구조체를 조정하거나 -s 매개 변수를 사용하여 git svn clone을 다시 수행하십시오. 그것은 당신을 위해 모든 것을 구성 할 것입니다 (--standard-layout).

0

이것은 SVN을 사용하는 회사가 SVN을 사용하는 프로젝트에 매우 정교한 분기 구조 (SVN을 사용하는 과정에서 내가 두려워하는 이유)와 함께 svn에서 작업하는 데 도움이되는 게시물이었습니다.

http://www.dmo.ca/blog/20070608113513/

+0

이 같은'[SVN-원격 XXX]'섹션에서 처리하는 여러 svn의 지점을 가지고 여러 가지 방법으로 더 나은 것입니다. 따라서 각 브랜치마다'git svn fetch'를 별도로 수행 할 필요가 없습니다. 또한 일반적인 svn 버전은 미러링 저장소에 단일 공유 커밋으로 표시되는 것으로 생각됩니다. '.git/config'를 수동으로 편집해야 할 필요가 있지만 경로의 하위 디렉토리 구성 요소에있는'branches' 정의에'*'를 넣을 수 있습니다. – FooF

관련 문제