상대 경로가 작동하도록 여러 폴더를 단일 폴더로 연결합니다. (페도라)

상대 경로가 작동하도록 여러 폴더를 단일 폴더로 연결합니다. (페도라)

필요한 상대 빌드 경로와 일치하지 않는 구조를 가진 SVN 저장소가 있습니다.

SVN repo 디렉토리는 다음과 같습니다.

  1. 뿌리
    • 알파
      • 트렁크
        • p1
        • p2
        • p3
      • 꼬리표
      • 나뭇가지
    • 브라보
      • 트렁크
        • p4
        • p5
        • p6
      • 꼬리표
      • 나뭇가지

필요한 빌드 디렉토리 구조는 다음과 같습니다.

  1. 뿌리
    • p1
    • p2
    • p3
    • p4
    • p5
    • p6

나는 SVN 구조를 단독으로 유지할 수 있기를 원합니다. 그 이유는 실제로 조정할 수 있는 능력이 없기 때문입니다. 또한 트렁크에 다른 항목(예: 알파 버전의 p7)이 추가되면 빌드 디렉터리에 해당 항목이 자동으로 추가되기를 바랍니다. 빌드가 작동하려면 p1 내부에서 cd ​​../p2/와 같은 명령을 실행하고 p2 폴더로 이동할 수 있어야 합니다.

나는 어떤 형태의 연결이 나에게 필요한 경로라고 생각하지만 이에 접근하는 방법에 대해서는 약간 혼란스럽습니다.

미리 감사드립니다.

답변1

이를 수행하는 한 가지 방법(SVN만 사용)은 루트 아래에 세 번째 프로젝트를 생성하고 이를 "빌드"라고 부르는 것입니다. 원하는 경우 트렁크, 태그, 가지를 정상적으로 가질 수 있습니다. "빌드" 프로젝트 내에서 makefile 등을 유지할 수 있지만 대부분 "빌드"에는 필요한 모든 구성 요소(및 적절한 개정판)를 가져오는 svn:externals 규칙만 있습니다. 그런 다음 일반 저장소 위치를 그대로 두고 원하는 디렉터리 구조를 만들 수 있습니다.

이 방법의 가장 큰 단점은 변경 사항을 커밋하기 전에 빌드하기가 더 어렵다는 것입니다. 그러나 특정 개정 대신 HEAD를 가져와야 하는 경우 svn:externals를 임시로 수정하여 "빌드" 작업 복사본에서 변경 사항을 적용하여 이를 수행할 수 있습니다.

관련 정보