이 내가 VCS에 사용되는 C++ 코드베이스와 SVN 있습니다.
내 코드는 여러 타사 제품을 사용합니다. 우리는 각 제품의 다른 버전을 사용하고 다른 OS (Linux 및 Windows)에서 사용합니다.
타사 제품 (필수 버전 포함)은 컴파일 컴퓨터에 있으며 컴파일 시간에 사용되므로 코드와 사용 된 타사 버전 간의 관계가 느슨하게 결합됩니다.
내가
을 원하는 내가이 상황을 변경하고 싶습니다. 아이디어는 svn vendor branch을 이용하는 것입니다. svn vendor branch에 설명 된 내용과 달리 타사 제품의 이진 버전을 저장하며 코드 자체는 저장하지 않습니다. 이것은 제 3 자 코드를 패치하지 않기 때문입니다.
svn:external은 타사 제품의 적절한 버전을 사용하는 데 사용됩니다. SVN 저장소의 여기 해골 : svn의 빨간 책에서
svn_repo/vendor/product1/OS1/ver1 <- mymodule using it
vendor/product1/OS2/ver1 <- mymodule using it
vendor/product1/OS1/ver2
vendor/product1/OS1/ver2
vendor/product2/OS1/ver1
vendor/product2/OS2/ver1
vendor/product2/OS1/ver2 <- mymodule using it
vendor/product2/OS1/ver2 <- mymodule using it
mymodule/ <- this is my actual code referring to a particular
products from vendor/ using svn:external
mymodule/vendor/product1/OS1 <- reference to vendor/product1/OS1/ver1
mymodule/vendor/product1/OS2 <- reference to vendor/product1/OS2/ver1
mymodule/vendor/product2/OS1 <- reference to vendor/product1/OS1/ver2
mymodule/vendor/product3/OS2 <- reference to vendor/product1/OS2/ver2
질문
vendor branch 장에서, 예에서, 그래서 제 3 자 제품의 최신 버전을 포함/전류를 유지하기 위해 제안 우리는 다음과 같이 끝납니다.
repos/vendor/libcomplex/current - contains 1.1
repos/vendor/libcomplex/1.0
repos/vendor/libcomplex/1.1
제 3 자 코드를 패치하지 않았기 때문에 현재 /를 유지 보수 할 필요가 없습니다. 이렇게하면 유지 관리가 필요해 보입니다. 따라서 svn에 보조 perl 스크립트 svn_load_dirs.pl이 함께 제공됩니다.
내 생각 엔 전류는 /에 필요합니다
- 는 다른 버전 releted svn을 한 후 비교 svn을 확인합니다.
- 측면으로 버전은 svn 저장소에서보다 효율적인 방법으로 저장됩니다.
정말 필요하지 않습니다.
따라서 현재/공급 업체 지점 처리를 안전하게 무시할 수 있습니까?