2012-05-31 3 views
0

일부 코드를 유지하는 가장 좋은 방법에 대해 질문이 있습니다.저장소 외부에서 별도로 SVN 저장소 코드 변경 유지

온라인 SVN 저장소에 호스팅 된 프로젝트가 있습니다. 프로젝트가 활발히 진행 중이므로 트렁크가 계속 변경됩니다. 이 repo에 대한 쓰기 권한도 없습니다.

프로젝트 전반에 걸쳐 많은 모듈을 변경해야하는 일부 프로젝트를 변경했습니다. 제 변경 사항은 꽤 "틈새 시장"이며 트렁크에 체크인하는 것은 의미가 없습니다. 또한, 나의 변화는 계속 진화 할 것입니다.

내가 변경 한 파일은 트렁크에서 많이 수정되지 않으므로 트렁크가 계속 변경되는 경우에도 변경 사항이 트렁크에 적용되면 유효하게 유지 될 가능성이 큽니다.

전체 저장소를 미러링하지 않고 변경 사항을 별도로 유지 관리 할 수있는 방법이 있습니까? 지금까지, 나는 병합을 계속하는 repo의 거울을 유지하고 있었고, 이것은 꽤 시간이 많이 걸린다. 나는 나의 변화가 최신 것과 일치하지 않게 시간을 가졌다. 내 변경을 사용하고 싶었 사람이 같은 것을해야 할 일을했을 경우

본질적으로, 그것은 좋은 것 다음의 SVN의 repo

  • 체크 아웃에서

    1. 체크 아웃 트렁크 (또는 특정 태그) 내 혼자 어딘가
    2. 에서 최신 변경 사항 (또는 특정 태그) 내 채널의 최신들이 REPO의 최신 트렁크가 이제 (내가 개발할 수 있습니다) 일부 스크립트

    를 사용하여 두 가지를 병합하고, 자동으로 병합되고 사용할 준비가되었습니다.

    모든 시스템을 사용하여 변경 한 내용을 유지 관리하고 있습니다. SVN이거나 특정 일 필요는 없습니다.

  • 답변

    2

    git-svn을 사용하여 Subversion 저장소를 복제 한 다음 git-svn 복제본을 유지할 수 있습니다. 그렇게했다면 코드의 버전/분기를 원하는 사람은 설명대로 3 단계 프로세스가 필요하지 않습니다. 오히려 그들은 당신의 repo (또는 지정한 태그 등)를 '복제'할 것입니다.

    또한 SVN 저장소의 트렁크의 여러 가지를 유지, 또는 등, 별도로

    +0

    고마워! 나는이 방법과 @ mark-phippard의 방법을 따로 시험해 보았고 둘 다 훌륭하게 보였다. – hide0

    1

    쓰기 권한을 얻을 수 있다면 가장 좋은 방법은 지점을 요청하는 것입니다. 그런 다음 변경 사항을 분기에 적용하고 merge를 사용하여 트렁크로 업데이트 된 상태로 유지할 수 있습니다. 그렇지 않다면 나는 이것을 고전적인 "공급 업체 지점"시나리오처럼 취급 할 것입니다.

    https://www.google.com/search?q=svn+vendor+branch

    기본적으로, 단지 로컬 자신의 SVN 저장소를 작성하고 저장소에 깨끗한 트렁크의 복사본을 유지하기 위해 스크립트를 사용합니다. 저장소에 지사를 만들고 거기에 변경 사항을 커밋하십시오. 그런 다음 주기적으로 스크립트를 사용하여 마스터의 트렁크로 저장소의 트렁크를 동기화 한 다음 해당 트렁크의 변경 사항을 분기에 병합하십시오.

    나는 git-svn을 사용하여 트렁크의 git 미러를 유지 관리하고 git 브랜치를 사용하여 변경 사항을 저장하고 동기화 상태를 유지할 수 있다고 생각한다.

    +0

    감사를 여러 SVN 지점을 추적 할 수 있습니다! 이것은 내 질문에 대답했다. 위의 git 응답을 선택했기 때문에 워크 플로우가 주어진 git에서 좀 더 편리하다고 생각했기 때문에이 권한을 표시 할 수 있었으면 좋겠다. – hide0

    1

    브랜치와 같이 들리는 사운드가 가장 좋은 방법 일 것입니다. 모든 사용자가 사용할 수 있으며, 변경 사항 관리 및 버전 관리에 도움을 줄 수 있습니다. 사람들은 당신의 지사에서 당신과 함께 일할 수 있으며, 트렁크의 변경 사항과 지사의 변경 사항을 항상 병합 할 수 있습니다.