[svn] SVN 체크 아웃 무시 폴더

svn checkout에서 폴더를 무시할 수 있습니까? 빌드 서버에서 체크 아웃 할 때 DOCs 폴더를 무시해야합니다.

편집 : 외부 무시는 옵션이 아닙니다. 필요한 외부 기능이 있습니다.



답변

체크 아웃시 폴더를 직접 무시할 수는 없지만 svn 1.5에서는 스파 스 체크 아웃을 사용할 수 있습니다. 예를 들면 :

$ svn co http://subversion/project/trunk my_checkout --depth immediates

이것은 프로젝트 트렁크의 파일과 디렉토리를 ‘my_checkout’으로 확인하지만 해당 디렉토리로 재귀하지는 않습니다. 예 :

$ cd my_checkout && ls
bar/ baz foo xyzzy/

그런 다음 ‘bar’의 내용을 가져 오려면 :

$ cd bar && svn update --set-depth infinity


답변

예, SVN 1.6을 사용할 수 있습니다. 먼저 체크 아웃 한 다음 제외 할 폴더를 표시 한 다음 원하지 않는 폴더를 삭제해야합니다.

svn checkout http://www.example.com/project
cd project
svn update --set-depth=exclude docs
rm -fr docs

지금부터 작업 복사본에 대한 업데이트는 문서 폴더를 다시 채우지 않습니다.

참조 http://blogs.collab.net/subversion/2009/03/sparse-directories-now-with-exclusion/http://subversion.apache.org/docs/release-notes/1.6.html#sparse- 자세한 내용은 디렉터리 제외 를 참조하세요.


답변

1.5 이전 버전에서는 최상위 폴더 만 체크 아웃 한 다음 선택적으로 업데이트하면 그때부터 업데이트시 체크 아웃 한 내용에만 영향을 미친다는 사실을 발견했습니다. 즉.

svn co -N foo
cd foo
svn up -N bar
svn up

-N 플래그는 조작을 비재 귀적으로 만듭니다. 위의 내용은 foo 수준에서 다른 항목을 확인하지 않습니다. 폴더가 있다고 말하면 lala최종 svn up은 해당 폴더를 체크 아웃하지 않지만 업데이트 bar됩니다.

하지만 나중에 svn up lala체크 아웃에 추가 할 수 있습니다 .

아마도 이것은 1.5에서도 작동합니다.


답변

이것은 TortoiseSVN 클라이언트 1.7.1에 있습니다 (일부 이전 버전에서도 사용 가능할 수 있음).

  • SVN 체크 아웃-> 저장소 URL 선택

  • “체크 아웃 항목”(체크 아웃 깊이 아래)을 클릭하고 필요한 폴더 만 선택하십시오!


답변

문서 폴더를 외부 저장소에 넣은 다음 svn checkout --ignore-externals.


답변

예, Subversion 1.5 에는 이러한 종류의 작업을 정확히 수행 할 수있는 Sparse 체크 아웃 이라는 기능 이 있습니다.


답변

회귀 테스트를 제외하고 WebKit 소스를 확인하는 방법을 찾는이 질문을 찾았습니다. 나는 다음과 같이 끝났다.

svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit \
  --depth immediates

cd WebKit
find . \
  -maxdepth 1 -type d \
  -not -name '.*' \
  -not -name '*Tests' \
  -not -name 'Examples' \
  -not -name 'Websites' \
  | (while read SUBDIR; do svn update --set-depth infinity "$SUBDIR"; done)

적절하다고 판단되면 제외를 변경할 수 있지만. *는 작업 디렉토리 (이미 최신 상태)와 모든 .svn 디렉토리를 건너 뛰는 것이 좋습니다.