문제

나는있다 20 살짜리 프로젝트 역사를 잃지 않고 RCS에서 GIT로 마이그레이션하고 싶습니다. 모든 웹 페이지는 하나의 진정한 경로가 CV를 통한 것이라고 제안합니다. 그러나 한 시간의 인터넷 검색과 다른 스크립트를 시도한 후에는 아직 아무것도 찾지 못했습니다. 성공적으로 내 RCS 프로젝트 트리를 CVS로 변환합니다. 나는 StackoverFlow의 좋은 사람들이 작동한다고 주장하고 그렇지 않은 것과는 반대로 실제로 작동하는 것을 알기를 바라고 있습니다.

(네이티브 SO 검색과 Google 검색을 모두 사용하여 StackOverFlow를 검색했지만 데이터베이스에 유용한 답변이 있으면 놓쳤습니다.)

업데이트: rcs-fast-export 도구 http://git.oblomov.eu/rcs-fast-export 2009 년 4 월 14 일에 수리 되었으며이 버전은 저에게 효과가있는 것 같습니다. 이 도구는 변환됩니다 똑바로 중간 CV가없는 git. 감사합니다 Giuseppe와 Jakub !!!


내가 아직 기억하지 못한 것들 :

  • 그만큼 rcs-to-cvs 에서 배송하는 스크립트 contrib CVS 소스의 디렉토리

  • 그만큼 rcs-fast-export 도구 http://git.oblomov.eu/rcs-fast-export 2010 년 4 월 13 일 이전 버전

  • 그만큼 rcs2cvs "CVS-RCS- Linux 용 방법 문서"라는 문서에있는 스크립트

도움이 되었습니까?

해결책

보다 인터페이스 인터페이스 드 렌드 및 툴 "도구", "다른 개정 제어 시스템과의 상호 작용", "기타"의 Git Wiki 페이지. 거기에서 설명과 링크를 찾을 수 있습니다. RCS-Fast-Export (gitweb) Giuseppe "Oblomov"Bilotta의 Ruby Script.

(웹 검색은 Ohloh 페이지와 언급 된 프로젝트에 대한 발표도 찾을 수 있습니다).

다른 팁

일반적으로 실행하는 스크립트에 대해 조심해야합니다. rcs-> git의 경우 rcs-> cvs-> git 방법론을 따르는 것이 최선의 이익 일 수 있습니다.

2011-01-12 년 기준 RCS-Fast-Export.rb를 간단히 살펴보고 코드 의이 부분을 가로 질러 달렸습니다. 이것은 기껏해야 무섭습니다.

# steal username/email data from other init files that may contain the
# information
def steal_username
    [
            # the user's .hgrc file for a username field
            ['~/.hgrc',   /^\s*username\s*=\s*(["'])?(.*)\1$/,       2],
            # the user's .(g)vimrc for a changelog_username setting
            ['~/.vimrc',  /changelog_username\s*=\s*(["'])?(.*)\1$/, 2],
            ['~/.gvimrc', /changelog_username\s*=\s*(["'])?(.*)\1$/, 2],
            []
    ].each do |fn, rx, idx|
...

좋아, 약간 땜질 후, 나는 RC를 CVS로 변환하는 것이 사소한 것을 발견했다. 파일은 동일한 형식이므로 파일을 기존 CVS 루트로 옮기는 문제입니다. RCS 파일에 액세스 할 수 있다고 가정합니다.

# Create CVS root dir. You only need to do this once.
mkdir $HOME/cvs/
cd $HOME/cvs/
cvs init

# Import a repository from RCS to CVS
cp -a _projectname_/RCS $HOME/cvs/_projectname_

방금 이것을 찾았습니다.

http://cynic.cc/blog/posts/migrate-from-rcs-to-git/

해당 페이지의 "CVS-Source-Dir"는 절대적인 경로 여야합니다.

나도이 문제가 있었고 CVS2SVN, PARSECV 및 What Not과 씨름했습니다.parsecvs 가장 가까이 있었지만 Keith는 그것을 뒤로 남겨두고 이제는 임의의 포크가 튀어 나오고 있습니다. 내가 그것을 쳤던 문제는 그것이 RCS 파일을 잘 구문 분석 할 것이라는 것이었다. 그러나 마지막 일은 git rm 파일, 그래서 나는 git reset 삭제를 취소합니다.

그런 다음 나는 Mercurial 's를 발견했습니다 convert: https://www.mercurial-scm.org/wiki/convertextension문제 해결됨!

나는 별도의 RCS 나무에서 몇 가지 물건을 점진적으로 추가하려고 노력했지만 효과가있는 것 같습니다.

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