2014-03-27 2 views
3

저는 순수 프로그래머/엔지니어가 되려합니다. (필자는 수년 동안 많은 사람들과 일 해왔다. 이제 버전 제어 환경을 설정해야 할 필요가 있습니다. 필자는 SVN에 익숙하지만, 파일을 설정하고 구현할 파일 구조를 결정하기 전에 '기능'이 있는지 알고 싶습니다.Subversion 기능

프로젝트 내에서 자주 변경되는 파일이 여러 개 있지만 이전 버전을 유지하고 싶지 않아 디스크 공간을 빨리 차지하지 않습니다. SVN에는 저장소의 파일 (또는 폴더)에 대한 속성을 설정하여 최신 버전의 파일 만 유지할 수있는 기능이 있습니까? (또는 어쩌면 단지 마지막 버전입니까?)

SVN에이 기능이 없으면 다른 버전 제어 시스템이 있습니까? 이 질문에 당신의 배려에 미리

감사합니다 ...

+2

정말 필요하지 않습니다. SVN은 전체 파일이 아닌 특정 개정판에 대해서만 diff를 유지합니다. 개인적으로 나는 하나의 SVN 저장소 때문에 디스크 공간이 부족한 사람은 들어 본 적이 없다. – ElmoVanKielmo

+0

@ElmoVanKielmo 감정에 동의하지만, SVN과 함께 공간이 부족한 사람을 만나면 운이 좋을 것이다. 과거에. 나는 회개했지만, 오래 전 은하에서 멀리 ... 저는 SVN을 사용하여 이미지, 다른 미디어 및 컴파일 된 코드와 같이 자주 변경되지 않는 텍스트가 아닌 자산을 저장하고있었습니다. 이론적으로는 단순한 릴리즈 프로세스와 델파이먼트를 중앙 집중화하고 구현하는 것이 좋은 생각 같았지만 현실의 망치는 결국 그것을 따라 잡았습니다 ... – Ray

답변

2

SVN은 변경 세트, 전체 파일이 아닌 추적없이, 당신이 그들을 삭제할 수 없습니다.

추가 조언 : 은 내가 당신이라면 REPOS 디스크 공간에 대해 걱정할 아니면 파일이 너무 자주 전체 디스크 공간이 채워지고 그 변화 이유를 약간의 시간이 다시 생각하지 것입니다. 이 버전 관리가 필요합니까? 그렇다면 아마 역사를 허물고 싶지 않을 것입니다.

또한 git 또는 mercurial과 같은 최신 버전 제어 도구를 사용하는 것이 좋습니다.

다음은 자식과 청산 디스크 공간에 대한 유사한 게시물 : 당신은 모든 버전의 컨트롤이 새라면, 아래의 코멘트에서 언급 한 바와 같이

위 kung fu는 아마 다리를 부러 뜨릴 수있다;)

+0

나는 일반적으로 그것을 권장하지만, 그들은 제공하지 않습니다. 해결책 /이 문제에 대한 답. –

+0

@ErwinBolwidt는 내 업데이트 된 답변을 참조하십시오. 여기서 git는 도움이 될 수 있습니다 – Ray

+0

초보자가 git으로해야 할 일이 아니며, 히스토리를 다시 써야하기 때문에 수정중인 저장소를 복제 한 모든 사람들과 조율해야합니다 이런 식으로. –

2
  1. 당신이 염려하는 파일이 버전 제어 sytsem에 전혀 저장되어서는 안된다고 생각합니다. Apache Subversion이나 다른 소스 제어 시스템을 사용하는 일반적인 방법은 이 아니라이 아니므로 자신의 원본 파일 (예 : 자동 생성 된 파일, 대형 바이너리 또는 디스크 이미지)에서 작성된 파일을 저장할 수 있습니다. 즉, 실행 파일을 빌드하면 컴파일 된 실행 파일이 아니라 소스 코드를 저장해야합니다.

  2. 여전히 어떤 파일에 대해 우려하는지는 분명하지 않습니다. 파일 형식과 파일 크기는 무엇입니까?

    • 파일이 텍스트 인 경우는, 저장소의 크기에 대한 걱정 귀하의 질문에 ElmoVanKielmo의 코멘트 @ 참조 할 필요가 없습니다. Subversion은 텍스트 파일의 수정간에 델타를 매우 효과적으로 저장합니다.

    • 파일이 크고 바이너리 인 경우 Subversion 저장소에 저장할 수 있지만 저장소에 1GB보다 큰 파일은 저장하지 않습니다.

  3. Apache Subversion에는 저장소 기록에서 파일을 완전히 자동으로 제거하는 기능이 없습니다.Subversion is designed to never lose information that exists in the repository. 그러나 큰 파일을 전용 분기에 저장하고 repository history filtering을 사용하여 수시로 쉽게 정리할 수 있습니다. , git clone 않는 모든 사람이 큰 바이너리 파일의 모든 버전 전체 저장소를 다운로드해야합니다, 힘내와

    :

  4. 은 분리/분산 버전 관리가 큰 바이너리를 저장 관해서 단점이다가 조심 시간과 대역폭을 많이 소비 할 수 있습니다. Git이 Subversion보다 바이너리 저장에 덜 적응한다고 말할 수 있습니다.


... 그것을 설정하고 파일 구조를 구현하기 위해 결정의 문제에 가기 전에.

Subversion 서버 설치 및 구성은 전혀 문제가되지 않습니다. 해당 플랫폼에 맞는 플랫폼을 찾으려면 the list of Apache Subversion Binary Packages을 살펴보십시오. 리포지토리가 HTTP(S) (Apache HTTP Server) 또는 svn:// (svnserve) 프로토콜 이상으로 노출되도록 서버를 구성합니다.

Windows 사용자는 두 번 클릭으로 전체 서버 패키지를 설치하고 구성하는 VisualSVN Server을 사용해보십시오. 많은 시간을 절약 할 수 있습니다.