CVS보다 SVN을 사용하면 어떤 이점이 있나요?

저희 회사는 소스 제어를 위한 사실상의 표준으로 CVS를 사용하고 있습니다. 하지만 많은 사람들이 SVN이 더 낫다고 말하는 것을 많이 들었습니다.

SVN이 더 새롭다는 것은 알지만 그 외에는 그 이점에 대해 잘 알지 못합니다.

제가 찾고 있는 것은 자바/이클립스 개발 환경에서 두 시스템을 간결하고 훌륭하게 비교하여 각각의 장단점을 지적하는 것입니다.

해결책

CVS는 파일 단위로만 수정을 추적하는 반면, SVN은 전체 커밋을 새 리비전으로 추적하므로 프로젝트의 이력을 더 쉽게 추적할 수 있습니다. 또한 모든 최신 소스 제어 소프트웨어는 리비전 개념을 사용하므로 CVS에서 마이그레이션하는 것보다 SVN에서 마이그레이션하는 것이 훨씬 쉽습니다.

원자 커밋 문제도 있습니다. 저는 한 번만 경험했지만, CVS에서 두 사람이 함께 커밋하면 서로 충돌하여 일부 데이터가 손실되고 클라이언트가 일관되지 않은 상태가 될 수 있습니다. 이러한 문제는 조기에 발견하면 데이터가 어딘가에 남아 있기 때문에 큰 문제가 되지 않지만 스트레스가 많은 환경에서는 골칫거리가 될 수 있습니다.

마지막으로, 더 이상 CVS를 중심으로 개발된 도구가 많지 않습니다. Git이나 Mercurial과 같은 새롭고 반짝이는 새로운 도구에는 아직 도구가 부족한 것이 사실이지만, SVN은 모든 시스템에서 꽤 많은 애플리케이션 기반을 가지고 있습니다.

수정 2015: 이 답변은 이제 7년이 지났습니다. SVN은 잊어버리고 다른 사람들처럼 Git을 사용하세요!

해설 (2)

많은 비교 중 하나입니다:

http://wiki.scummvm.org/index.php/CVS_vs_SVN

이것은 해당 프로젝트에 매우 구체적이지만 일반적으로 많은 부분이 적용됩니다.

프로 전복:

버전 변경/이동 지원(CVS에서는 불가능): 핑골핀, 엔더 기본적으로 디렉토리를 지원합니다: 디렉토리를 제거할 수 있으며 버전이 관리된다: Fingolfin, Ender 파일 속성은 버전이 있으며, 더 이상 지옥이 없습니다: Fingolfin 전체 리비전 번호를 사용하면 빌드 버전 관리 및 회귀 테스트가 훨씬 쉬워집니다: 엔더, 핑골핀

  • 원자 커밋: Fingolfin 직관적인 (디렉토리 기반) 브랜칭 및 태그 지정: Fingolfin
  • 더 쉬운 훅 스크립트(사전/사후 커밋 등): SumthinWicked (커밋 후 Doxygen에 사용) 충돌하는 파일을 실수로 커밋하는 것을 방지한다: Salty-horse, Fingolfin 사용자 정의 'diff' 명령 지원: Fingolfin 오프라인 diff, 즉시 실행: sev
해설 (2)

Cvs svn 에 비해 3 주

  • s 빠르게 it& # 39.
  • 는 이진 파일 버전 관리
  • 및 자도으로 트랜잭션용 커밋합니다 (all or nothing)
해설 (0)

Subversion 책에는 부록에 CVS와의 중요한 차이점이 자세히 설명되어 있어 결정을 내리는 데 도움이 될 수 있습니다. 두 접근 방식은 거의 동일한 개념이지만 SVN은 CVS의 오랜 결함을 수정하기 위해 특별히 설계되었으므로 적어도 이론적으로는 SVN이 항상 더 나은 선택이 될 것입니다.

해설 (0)

39, ll ss+sp i& Eridius& # 39. 깃 (git) 의 제안으로 있지만 I& 확장하십시오 redhat. (분산 버전 관리 시스템), d # 39 와 같은 다른 drc 머큐리얼바자.

이 제품은 최신 설비 및 그 순간 통합되므로 상당히 낮은 수준의 것 (내 기준으로 초기 연구). I& # 39; d 말하도다 그들은 거기에 대한 가장 적합한 전력 개발자 (그리고 여기 있는; -).

반면 현재 t , # 39 CVS doesn& 무엇이 있습니까? # 39 의 초기 질문 전날에약혼자에게 don&, t really, CVS, 이에 대해 아무런 &quot 알 수 있는 것이 아니라, 내가 사용하는 그것은됐다 &quot?

39 건, ve you& 몸무게는 마이그레이션과 아니했으니 가능한 모든 비용을 절감할 수 있습니다. 기존 프로젝트에 대한 자리맞출 힘들 것이라고 생각합니다.

해설 (0)

생태계 간과할 수 없는 게 하나 있다. 내가 일하던 당시, 죽을 죄를 발견사항 점점 더 많은 오픈 소스 툴 지원 대상 SubVersion 코프스백 구매하십시오 기본적으로.

해설 (0)

누군가 중간에 csv 로 누구이뇨 스위칭할 SVN (처음에 저희에게는힘과 스위치 우리의 모든 프로젝트를 함께 새로운 프로젝트를 통해 결정한 후 우리는 이전됩니다 cvs2svn svn 만 사용하는) 몇 가지 문제가 있었습니다.

  • 결합 및 분기 매우 다른 경우, 지사 및 병합해야 SVN 서버에 대한 실행 할 때 자주 않았다면 1.5 그들이숨기는 확장됨 (# 39 이 isn& 있는 것은 아주 선택해제합니다 건축물이다, SVN 대화상자의). 마이클 분기 및 병합합니다 꼭 이래야겠어요 주장한다 "고 10 년간 사용한 후 cvs 가 있는 것은 아니다.
  • 실행됩니까 SVN 서버에 linix 어려울 경우 구해 SA 로 옮기는 등 기본 설치 1.4.x. svn 1.5
  • 거의 없는 것처럼 간편하게 병합합니다 충돌함 과 선택해제합니다 (적어도 나에게, 내 동료) 에 있는 그대로 TortoiseSVN 토르투아크프스. 일부 및 윈메르게 가져오는 데 사용되는 3 창뿐만 외곽진입 # 39, t (내 선호 결합 도구에서는) doesn& 못하며창조된 3 창뿐만 병합합니다.
  • 조심하시오. 나는 분명히 많은 온라인 및 잡지 기사 읽기, t 지사 및 병합해야 자습서는 don& # 39 로 https://svn.yoursvnserver.com/repos/YourProject/Trunk 및 분기로서의 (https://svn.yoursvnserver.com/repos/YourProject/Branches/BranchX) 의 주 업무는 리포지토리를 설정해야 합니다. 정리할 수 있습니다 잘못된 방향으로 이끌고 있지만 너회의 레포스 시작하면 배치하십시오 혼란에 빠졌다.
해설 (0)

브트와: 코프스백 커밋한 汲摹窍妨绰 핵

해설 (0)

깃 (git) svn 대신 살펴 합니다. S # 39, it& &lt 머리글자어 title = &quot, 분산 버전 관리, DVCS&lt /acronym&gt &gt System";;; # 39 의 초고속 및 that& 매우 강력합니다. # 39 로 it& 아닌 사용자 친화적인 SVN 에 있지만, 그런 점에서 향상합니다 it& # 39 의 하드 배울 수 있는 , 와 # 39 it& 일은 아닙니다.

해설 (1)

CVS (cvs) 파일 시스템은 일반적으로 사용하는 두 가지 버전 관리 및 SVN (SubVersioN) 의 단일 프로젝트 팀을 협력하고 있다. 이러한 시스템 변경 했으나 추적할 수 있도록 만든 누구이뇨 알 수 있는 주요 개발 및 서버인지에 분기로의 CVS 는 트렁크 방관하겠나 적용해야 한다고 더 나이든 두 및 표준 협업. 도구에 대해 많은 사람들이 있다. SVN 은 많은 개선 요구를 해결할 수 많은 사람들이 훨씬 더 새롭고 채택하고 있습니다.

해설 (0)

최신 CVS 를 선택할 수도 있습니다 현재 CVS 만 마이그레이션하려면 코드 (svn) 및 동결 리포. 이 발쿰치로 마이그레이션과 기존 릴리스에서와 옛날 CVS 리포 구축해보십시오 쉽고 수도 있습니다.

해설 (0)

뭐, svn 은 몇 가지 것들로 기분이 좋아요.

이 방법을 검토 및 품질 검사를 svn 알다시안 도가니 조합으로의 는 dmx2 보다 1. 갈등과 병합합니다 보다 효율적으로 관리할 수 2. 3. # 39 의 빠른 속도로 수행하는 데 분명히 It& 체크 아웃, 커밋한, etc. 4. 2 명이 함께 있을 수 있는 핵 문제 = 커밋합니다 커밋하면 CVS 에 서로 충돌, 일부 데이터 및 코드에 기반을 잃고 일관성이 없는 상태일 검토하고 있다.

몇 시간 안에 수행됨 마이그레이션과 cvs2svn 사용하여 쉽게 사용할 수 있습니다.

해설 (0)