2009-12-16 1 views
4

트렁크에 실제로 별도의 repos에 있어야하는 많은 디렉토리가있는 코드베이스를 상속하고 있습니다. 내 모든 개발은 특정 디렉토리에서 발생합니다. 무엇이 트렁크에서 유일한 것이되어야합니다.git-svn, 트렁크의 디렉토리를 로컬 트렁크로 사용하는 방법

예컨대 다음의 repo에서 /에/대한/경로의 repo/트렁크/true_trunk

모든 태그와 브랜치이 'true_trunk'디렉토리에 독점적 참조하십시오.

문제는 : 나는 트렁크의이 서브 디렉토리가 실제로 트렁크 인 것처럼 행동하는 git-svn을 얻을 수 없다. 결과적으로 트렁크에 대한 나의 체크 아웃은 트렁크의 전체 내용, 수십 가지의 다른 관련없는 코드 기반으로 작업 디렉토리를 채 웁니다.

이 'true_trunk'지시어 만 git-svn과 대화하게하려면 어떤 방법이 있습니까? 를 URL의 높은 수준을 사용하여 : : SVN :

이 디렉토리를 지정에서 시도가 밖으로 다음 산출 // 경로를 /로가/트렁크/true_trunk => SVN : // 경로 /로/REPO

+0

-t 옵션은 여전히 ​​내가 일을 수동으로 .git/설정을 편집하고 내가해야 할 다른 원격 저장소로 수동으로 트렁크를 추가하여 작업을 진행하게 관리 은 "높은 수준의 URL을 사용하여"문제를 양보했다 --no-minim-url이 작동했는지 확인하려면 –

답변

3

-T 옵션을 git svn init으로 지정하면 "트렁크"디렉토리로 취급 할 디렉토리를 지정할 수 있습니다. 나는 이상하게 배열 된 Subversion 디렉토리 트리를 가지고 이것을 과거에 사용해 왔으며 성공했다. 상황에 맞는 옵션을 올바르게 조합하기 위해 약간의 실험을해야 할 수도 있습니다.

1

-T 옵션을 사용하여 실제 트렁크를 지정할 수 있습니다. git svn clone, 브랜치는 -b, 태그는 -t입니다. 나는이 같은 당신을 위해 작동합니다 별도로 각 지점/태그를 지정해야 할 수도 있습니다 레이아웃에 대한 생각

$ git-svn clone \ 
-T svn://path/to/trunk/true_trunk \ 
-b svn://path/to/branches/branch1/true_trunk \ 
-b svn://path/to/branches/branch1/true_trunk \ 
-t svn://path/to/tags/tag1/true_trunk \ 
-t svn://path/to/tags/tag2/true_trunk \ 
repository_name 

이 명령의 형식을 돕기 위해 SVN에서 브랜치와 태그의 덤프를 생성해야 할 수도 있습니다

$ svn ls svn://path/to/tags 
$ svn ls svn://path/to/branches 
+0

음, 아니. 'git svn clone'에 대한 첫 번째 옵션은 svn 저장소 URI 여야합니다. '-T/-b/-t' 옵션은 상대적 일 수 있으며, 여러 번 지정하는 것은 의미가 없습니다 ('-b branches'는'svn-remote.svn.branches = branches/* : refs/remotes/*'git의 설정에서). – ephemient