문제

내 무의식적으로 회사에서 전환 cvs 을 파괴하고 지금 우리 모두가 바라는 우리가 cvs 다.내가 알고 있는 도구를 마이그레이션을의 역사와 변경에서 cvs 을 svn 없 해당하는지 또는 변경을 할 수 있습니다.어떤 제안이나 아이디어에서 어떻게 하면 이렇게 할 수 있습니까?

도움이 되었습니까?

해결책

나는 원래 이것을 다른 사람의 답변에 댓글로 추가했지만 그것이 일종의 대답이라는 것을 깨달았습니다. 한 SCM 시스템에서 다른 SCM 시스템으로 변환하는 기존의 방법이 없었던 이런 종류의 전환을 전에 수행했습니다.

SVN 저장소에서 커밋 목록을 가져 와서 한 번에 하나씩 반복하여 새로 만들어진 CVS 저장소로 병합하는 스크립트를 작성하는 것은 로켓 과학이 아닙니다. 모든 브랜치와 태그를 정확하게 정확하게 얻는 것이 조금 더 작동 할 수 있지만, 몇 가지 지점에 대한 개정 기록을 저장하려면 매우 쉬워야합니다.

또한 CV로 다시 전환하여 실제로 아무것도 얻지 못할 것이라는 의견이 있지만, 그렇게하고 싶다면 자신의 스크립트를 작성할 것입니다. "SVN Export"명령은 의심 할 여지없이 이러한 노력에 유용 할 것입니다.

다른 팁

그래서 무엇으로 SVN 는 당신의 회사하는 것과 싫어하는 많 및 CVS 않는 더 나은?디자이너의 SVN 의 방법을 만들 SVN 경험을 상당히 비슷한 CVS.사용하는 경우에는 거북이 클라이언트 프론트 엔드로 경험하는 것도 매우 유사합니다.SVN 당신에게 원자 커밋하는 동안 꽤 표준의 퍼포트 앞에서의 CVS.

가 동의하지 않습니다.나는 우리의 업그레이드는 개발 팀이&그것은 팀에서 CVS 을 SVN.나는 모두가 오른쪽 python 스크립트를 모두 업그레이드 버전은 역사와 우리가 사용하여 SVN 행복하게 약 4 년이다.에 대한 세 개월 전에 그것은 팀 리더기로 결정하는"업그레이드"그의 모든 프로젝트에서 SVN 을 어떻게 됐을까?그건 바로,무거운 기중의 버전 관리 시스템:SourceSafe!

I would definately 으로 스틱 SVN 거나 심지어 일부에서 보는 새로운 분산 시스템과 같은 Mercurial.이러한 시스템이 없을 중앙 서버입니다.그들은 의지할 수 있는 것에점 및 병합을 통해 수십 또는 수백 명의 동료.당신은 자신을 정의 토폴로지,그래서 예를 들어,당신은 당신이 지정하면 특정 피어로 중 하나를 수행하는 매일 있습니다.

나는 도구가 다른 방향으로 진행되는 것이 존재한다고 생각하지 않습니다. 왜냐하면 그것에 대한 수요가 많지 않기 때문입니다.

실제로 그렇게해야한다면 SVN Repo의 역사를 통과하는 스크립트를 작성하고 각 개정판을 얻고 CVS에 커밋하는 스크립트를 작성하는 것은 그리 어렵지 않아야합니다.

BTW, 나는 당신이 SVN에 어떤 문제가 있는지 알고 싶어합니다.

SVN은 크지 않습니다. SVN은 CV보다 낫습니다. 체크 아웃 Mercurial, Git, Bazaar를 변경하려면.

GIT의 한 가지 측면은 이러한 다른 모든 답변에서주의를 기울 였을 때 논의되지 않았습니다. GIT는 CVS 서버 에뮬레이션을 제공하므로 GIT로 마이그레이션 할 수 있습니다 (SVN에서 GIT에서 쉽고 지원할 수 있음). 중앙 집중식으로 저장소에 액세스하기위한 CVS 서버 인터페이스. 아무도 배경에서 GIT를 사용한다는 것을 알 필요가 없으며 분산 백업 문제를 처리 할 필요가 없습니다.

업그레이드가 아닙니다. 이것을하지 마십시오.

진지하게, 왜 CV를 SVN보다 선호합니까? CVS는 말 그대로 팀이 명시 적 의사 소통없이 일할 수있는 척하는 장난감입니다. 정말 끔찍합니다.

어떤 이유로 든 SVN 이외의 것이 필요한 경우 다른 버전 제어 시스템을 살펴보십시오. 많은 것이 있으며 CV보다 거의 더 좋습니다 (실제로는 시각적 소스 안전만이 나쁘다).

귀하의 옵션은 아마도 실질적으로 제한적 일 것입니다. CVS의 적극적인 개발은 얼마 전에 중단되었으므로 CVS 개발자의 도구가 없을 것입니다. 그리고 SVN의 주요 목표 중 하나는 더 나은 CV가되어야했기 때문에, 그 개발자들은 아마도 누군가가 뒤로 이동할 것을 기대하지 않았을 것입니다.

그러나 전복이 마음에 들지 않는다면 더 현대적인 분산 시스템 (Git, Mercurial 등)을 보지 않겠습니까?

당신이 가진 모든 것이 망치 일 때, 모든 것이 못처럼 보입니다.

가장 좋은 방법은 SVN을 배우는 것이 더 지식이 풍부하게 만드는 것입니다.

Corporal Touchy에 동의합니다.

SVN은 CV보다 낫습니다. 왜냐하면 그것은 단순화와 새로운 기능을 갖춘 대략 같은 것입니다.

SVN을 사용하면 이력을 잃지 않고 파일 이름을 이동/바꿀 수 있습니다. 더 안전한 커밋 (커밋은 원자 운영) 및 글로벌 개정을 얻습니다.

어쨌든, CVS로 돌아 가기 전에 더 잘 알게되고 더 나은 방법으로 저장소의 팀으로서의 요구를 실제로 이해하려고 노력하십시오.

추신 : 나는 Corporal이 이야기하고 있다고 생각합니다 수은제

SVN은 CV보다 더 좋았지 만 일부 영역에서는 잘 작동하지 않았습니다. 다른 분산 도구는 훨씬 빠릅니다 (SVN은 지옥, 심지어 CVS조차도 때때로 더 빠를 수 있음), SVN보다 훨씬 더 유용한 기능을 가지고 있으며 빠르게 발전하고 있습니다 (SVN의 새로운 기능을 보는 반면). 반면에 SVN은 배우기가 매우 쉽고 중앙 집중화됩니다 (이것은 일부 사람들에게 중요합니다).

SVN 팀은 자체 의제에 중점을두고 있으며 개발자 (다른 오픈 소스 프로젝트와 비교)로부터 지원을 받기가 매우 어렵습니다. 일부 버그 보고서는 개발자의 관심없이 오랫동안 존재합니다.

나는 SVN 프로젝트의 모습과 그것이 어떻게 발전했는지에 대해 실망했지만, 아마도 그것은 미래에 변화 할 것입니다.

만 2 단점을 파괴의 생각할 수 있는 사용자에서 오는 CVS 가

  • 의 속도는 체크아웃 http(s)
  • 의 부족 modulaliases

첫 번째 중 하나를 사용하여 해결할 수 있습 svn(+ssh)는 더 많은 유사한 형식으로 CVS 을 사용하여 프로토콜을 뿐입니다.두 번째는 조금 더 까다롭지만,하여 에뮬레이트할 수 있습니다 svn:외부(자신의 불쾌한 sideeffects) 발생하는 경우 다른 추가적인 단점,나는 모두 귀..

Bazzar, Mercurial 등 (일부 사람들이 조언 한)은 모두 배포 된 버전 제어 시스템입니다. 이러한 종류의 도구를 사용하여 동일한 소스 코드에서 작업하는 큰 프로그래머 그룹을 관리하는 것이 거의 불가능하다는 것을 알았습니다. 우리 회사에서 우리는 SVN을 사용하고 훌륭한 일을하고 있습니다.

왜이 일을하고 싶은지 모르겠지만 svn-> git-> cvs가 작동 할 수 있습니다.

당신은 달릴 것입니다 ..

git svn clone http://thesvnserver ourrepo

그런 다음 다음 안내서를 사용하여 CVS로 다시 내보낼 수 있습니다 (전적으로 이것이 작동하지 않음).

http://issaris.blogspot.com/2005/11/cvs-to-git-and-back.html

git cvsexportcommit 4a20cbafdf25a141b31a8333284a332d1a4d6072

또한 있습니다 git cvsserver

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top