2009-03-24 5 views

답변

0

수백 명의 사용자가 사용하는 Subversion을 사용했던 한 회사는 자체 서버가 없었습니다. 대신 Collabnet에서 관리되는 서비스였습니다.

5
  • 처음부터 올바른 디렉토리 구조를 선택하십시오. 나중에 변경할 수 있습니다.
    • 나는 "최고"모든 프로젝트를 필요로하지 않는 모든 사람이 체크 아웃 각 프로젝트
  • 에서 트렁크/태그/지점으로, 프로젝트에 의해 구성되어 있다고 생각하는 경향이있다. 필요한 것을 체크 아웃하십시오.
  • 개발자들간에 툴을 공유하는 방법을 찾아보십시오. SQL diff 프로그램과 같은 작은 것들은 서버를 끄고 그것들을 diffs한다는 것은 매우 중요합니다.
  • 하나의 프로젝트가 너무 커지지 않도록하십시오. 전체 개정의 역사를 가진
  • Trac에 직접 사람을 연결하는 데 유용합니다 - 업데이트하거나 1GB의 폴더를 통해 커밋하려고하면 Subversion 서버
  • 백업 과정의 저장소에 대한 몇 가지 업그레이드 전략을
  • 그림을 계산할 짜증나 긴 changelongs와 diffs에
  • 재미있게 보내십시오. 주말에 repo를 통해 키워드 검색을 실행하고 사람들이 코드에서 단어를 저지른 횟수를 그래프로 나타냅니다. Run a code swarm
0

수백 명의 개발자가 CVS를 사용하여 수백 개의 프로젝트를 보았 기 때문에 svn이 잘해야합니다. 제가 알고있는 유일한 문제는 작업 디렉토리와 백업에 사용되는 디스크 공간에 관한 것입니다.

4

저는 3 곳의 지리적 위치와 수백 개의 개발자 및 100 개 이상의 프로젝트에서 사내 Subversion 호스팅을 구현 한 팀에서 일했습니다. 몇 가지 주요 학습 내용

  1. svnserve 대신 Apache mod_svn을 사용하십시오. 그런 다음 'Subversion 인증'을 LDAP (또는 ActiveDirectory 인증)에 연결하여 팀이 하나 이상의 로그인 이름과 암호를 기억할 필요가 없도록 할 수 있습니다.

  2. 각 프로젝트마다 다른 하위 폴더가있는 하나의 큰 저장소가 아닌 동일한 서버에 여러 저장소를 만듭니다. 사용자 및 액세스 제어를 관리하는이 방법은 간단합니다. 또한 마무리 프로젝트에서 리포지토리를 닫고 보관하는 작업도 간단합니다.

  3. 우리는 전자 메일 알림 및 RSS 피드에 대한 사용자, 사용 권한 및 svn 후크 스크립트를 관리하기 위해 간단한 python cgi 스크립트를 개발했습니다. 스크립트는 프로젝트 팀이 svn을보다 빨리 받아들이는 데 도움이되었습니다.

  4. 리버스 프록시를 넣고 회사 네트워크 외부에서 'https'액세스를 통해 일부 프로젝트를 선택적으로 노출 할 수 있습니다. 외부 공급자/계약자 팀이 이러한 방식으로 프로젝트에 대한 액세스를 제어 할 수 있습니다.

전반적으로, 우리는 (CVS 및 Visual SourceSafe를 같은 기존 시스템에서 데이터를 마이그레이션 포함) 새로운 시스템에 약 1 년의 모든 프로젝트 팀을 옮겼습니다.

0

전적으로 Nitin Bhide에 동의합니다. 내 추가는 :

당신은 SVN 몇 가지 워크 플로우를 CVS에 사용하는 경우 당신은 단지 공급 업체 폴더의 모든 파일을 삭제하기 때문에, CVS에 존재하며 복사 매우 다른, 예를 들어 공급 업체 가지이 있습니다 안에 새 버전. 이것은 더 이상 SVN에서 작동하지 않습니다.

만약 당신이 일식에 익숙하다면, Subclipse 에서처럼 파괴적인 상황에서 많은 것들이 다릅니다. 사용자에게 CVS 사용자를 파악하기 가장 어려운 것으로 전역 개정 번호에 익숙해 져야합니다.

저장소 마이 그 레이션이 성공적이지 않은 경우 개발자 팀의 대기 시간을 피하기위한 마이그레이션 전략이 중요합니다.

관련 문제