2010-02-25 6 views
2

우리는 vendor/plugins에 여러 개의 플러그인을 가지고있는 svn 프로젝트가 있습니다. 모두 svn:externals을 통해 가져 왔습니다.하나의 커밋으로 로컬 복사본과 svn : externals 하위 디렉터리를 어떻게 체크 인 할 수 있습니까?

나는 주 프로젝트와이 플러그인 중 몇 개를 한꺼번에 처리하는 커밋을 가지고있다.

svn st을 수행하면 변경된 모든 파일이 모든 올바른 하위 디렉토리에 나열되지만, svn ci을 시도하면 로컬 프로젝트의 파일 만 표시됩니다.

svn:externals 디렉토리를 모두 포함하는 단일 커밋을 수행하는 방법은 무엇입니까?

+0

왜 공급 업체의 플러그인에서 파일을 변경하고 있습니까? 이상적으로 당신은 당신이 의지하지 않고 변경하지 않는 의존성이 될 것입니다. –

+0

우리는 공급 업체입니다 :) 우리는 플러그인 세트로 함께 번들로 제공되는 클라이언트 용 기능 세트를 제공합니다. 우리는 또한 그들의 사이트를 유지합니다. 가끔은 우리 둘 다 동시에 수정 ... –

답변

3

좋아, 로컬 변경 사항을 svn 외부와 결합 할 수는없는 것처럼 보이지만 몇 가지 외부 항목을 모두 결합한 다음 나중에 로컬 변경 사항을 체크인 할 수 있습니다.

명시 적으로 체크인 예에 svn:externals 디렉토리 이름을 넣어야 할 svn:externals 프로젝트에 다시 커밋하려면 다음과 같은 명령 줄에 모두 함께 다른 플러그인의 수를 체크인 할 수

svn ci vendor/plugin/<plugin_name> 

:

svn ci vendor/plugin/<plugin_one> vendor/plugin/<plugin_two> ... 

하지만 로컬 작업 사본 변경은 별도로 수행해야합니다. 그렇지 않으면 "로컬 작업 복사본을 잠글 수 없습니다"라는 메시지와 함께 "모든 대상이 같은 작업 복사본에 포함되어 있습니까?"라는 불쾌한 경고가 표시됩니다. 또는 이상한 메시지가 나타날 것입니다.

그래서 svn : externals 커밋과 관계없이 작업 복사본을 변경해야합니다. 아직도 - N이 아닌 유일한 것입니다 (N은 플러그인과 작업 카피의 수입니다). 여전히 두 커밋을 동일한 커밋 메시지와 함께 묶을 수 있습니다.