문제

소스가 단일 상단 레벨 디렉토리로 가져 오지 않은 프로젝트에 대해 SVN Repo를 관리하고 있습니다. 결과적으로, 한 프로젝트 대신 약 15 개의 개별 프로젝트가 있습니다. 변경 기록을 유지하면서 이들을 하나의 폴더로 어떻게 병합 할 수 있습니까?

*힌트 :이 경우 SVN 이동이 작동하지 않습니다.

편집] whops, 속임수 여러 SVN 리포지토리를 하나로 결합합니다

도움이 되었습니까?

해결책

리포지토리 중 하나의 모든 기록을 유지하는 데 관심이 없다면 한 프로젝트의 저장소 아래에서 새 디렉토리를 작성한 다음 다른 프로젝트를 가져올 수 있습니다.

두 가지 이력을 유지하는 데 관심이있는 경우 'Svnadmin Dump'를 사용하여 하나의 저장소를 덤프하고 'Svnadmin Load'를 사용하여 다른 저장소에로드 할 수 있습니다. 개정 번호는 꺼져 있지만 여전히 역사가 있습니다.

여기에서 복사 : http://subversion.tigris.org/faq.html#multi-merge

다른 팁

어쩌면 나는 분산 버전 컨트롤 해머로 너무 많이 작업 했으며이 시점에서 볼 수있는 모든 것은 분산 손톱입니다. 그러나 나는 이것이 아마도 이것이 아마도 DVCS의 직업이라고 말해야한다.

나는 git-svn이나 그와 비슷한 것을 엉망으로 만들려고 노력할 것입니다. 각 "프로젝트"를 자체 git 저장소로 가져 와서 서로를 끌어 당깁니다. 갈등을 해결하고 모든 일이 끝나면 역사를 다시 전복으로 가져 오십시오.

그러나 어쨌든 모든 저장소 병합을 마친 후 분산 컨트롤을 사용하는 것만으로 팀이 더 나을 수 있습니다 ...

SVN : 외부를 사용하여 다른 모든 프로젝트를 가리키고 적절한 하위 디렉토리에 배치하는 새로운 최상위 프로젝트를 만들 수 있습니다.

  • DEVS는 새로운 최상위 프로젝트 만 확인하면됩니다 (SVN은 SVN : Externals를 자동으로 팔로우하고 다른 것들을 끌어 올릴 것입니다).
  • 정식 버전 기록이 유지되며 새로운 변경 사항은 관련 하위 프로젝트에 자동으로 최선을 다할 것입니다.
  • 구현하는 데 약 5 분이 걸립니다 (새로운 최상위 프로젝트를 만들고 실행하십시오. svn propedit svn:externals top_dir).
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top