2010-03-08 1 views
0

많이 재사용하고 고도의 유연성과 모듈성을 목표로하는 객체 지향 PHP 코드 라이브러리를 만들 필요가 있습니다. 그것의 독립적 인 성격 때문에 나는 그것이 SVN 프로젝트로 존재하기를 바란다.두 개의 개별 프로젝트에있는 코드를 서브 버전과 함께 concurently

저는 새 웹 프로젝트를 만들 수 있고, SVN에 별도의 프로젝트로 저장하고, 라이브러리 프로젝트 코드도 포함시키고 싶습니다. 이 과정에서 웹 애플리케이션 코드를 코딩하고 커밋하는 동안 라이브러리에 클래스를 추가해야 할 수도 있습니다. 나는 그렇게 할 수 있고 그 변화를 도서관 프로젝트 코드에 다시 맡길 수 있기를 바란다. 내가 원래 기본 프로젝트 코드의 지점에 라이브러리에 변경 내용을 커밋하고 웹 프로젝트에 관련된 지점 이름을 두 가지 방법으로

  1. 의 코드를 관리 할 수있는 모든이의 관점에서

    나는 그것을 함께 사용했다

  2. 라이브러리에 대한 변경 사항을 원래 코드로 되돌 리거나 존재하는 특정 참조에 관계없이 크기를 늘리십시오.


나는 두 가지 질문

  • 그럴 각을 변경 나를 수 있도록 즉, 파괴 기능이 손상 아직 새 프로젝트에이 라이브러리 프로젝트 코드를 포함 할 수 있습니다 방법 개별 프로젝트?

  • 어떻게 코드를 동기화 할 수 있습니까? 라이브러리 코드를 관리하는 첫 번째 방법을 선택하면 다른 지점에서 변경 사항을 가져 와서 다른 지점에서 변경하여 사용할 수 있습니다.

편집 - 나는 단순히 개별적으로 프로젝트를 확인하고/개별적으로뿐만 아니라 그들을 업데이트 커밋 할 수 실현,하지만 어떻게 그들이 하나의 프로젝트로 함께 포함 할 수 있습니다? 좀 더 명확히하기 위해 위에서 정의한 요점을 고려하여 통합 된 Subversion 프로젝트로 라이브러리 코드를 포함하는 웹 프로젝트를 어떻게 만들 수 있습니까?

답변

2

나는 당신이 원하는 것을 얻기 위해 svn : externals을 사용할 수 있다고 생각한다. 라이브러리 프로젝트를 웹 사이트 프로젝트로 가져 와서 작업 복사본을 업데이트 할 때마다 업데이트합니다. 유일한 질문은이 질문에 설명 된대로 프로젝트를 수행 할 때 동일한 커밋으로 라이브러리에 다시 커밋 할 수 없다는 것입니다. How do I checkin to local copy AND svn:externals subdirectories in one commit?.

+0

이것은 답처럼 보입니다 - 이것이 내가 웹 프로젝트와 동시에 라이브러리를 수정할 수 있다고 생각하는 방식으로 작동한다면 dwight의 제안을 고려하여이 코드를 두 깨끗하고 분리. 고맙습니다 :) –

0

옵션 # 1은 올바른 방법입니다.

공유 API에 대한 사이트 별 수정 사항이있는 사이트의 API 프로젝트를 별도로 유지해야한다고 생각합니다. 물론 지점을 앞쪽으로 만들 필요가 없습니다. '트렁크'를 체크 아웃하고 지점 별 변경 사항을 적용하기 전에 지점을 확인하십시오.

당신을 도울 수있는 내가 과거에 사용했다고 병합/분기에 기사의 몇 가지가 있습니다 그러나

, 몇 가지 측면이 있습니다 당신의 '두 가지 질문'중 조금 혼란 스럽거나 /에 관한 것입니다.다행스럽게도 필자는 당신이 말한 것을 misinterpretting하지만, 마음에 다음을 계속하고 있습니다 : 첫 번째 질문으로

  1. , 난 당신이 개발 시스템과의 소스 코드의 물리적 위치에 휘말리고 있다고 생각 리포지토리가 어떻게 구조화 될지 (힌트 : 두 가지를 따로 다루십시오).
  2. 두 번째 질문에서 특정 참조를 언급하고 웹 사이트 소스에 따라 API를 만드는 방법을 생각할 수도 있습니다 (힌트 : API에 대한 나쁜 아이디어).
+0

내가보기에 - 맞습니다. 생각을 바꿀 것입니다. - API 코드는 분리되어 있어야합니다. 링크를 이용해 주셔서 감사합니다 : 0) –

관련 문제