2017-11-13 8 views
0

으로 중단되었습니다. CVS 저장소를 GIT로 변환하려고합니다. 하지만 모듈을 모듈로 변환하고 싶다면 그렇지 않으면 커밋과 파일의 차이가 생기기 때문입니다. 저장소에는 1 개의 CVSROOT 및 4 개의 모듈이 들어 있습니다.cvs2git 체크 아웃이 옵션 파일 (Windows)

모든 명령의 출처는 cvs2git documentation입니다. 내가 명령 줄 옵션으로 작업을 수행 할 때 :

python path\to\cvs2git --blobfile=cvs2svn-tmp\git-blob.dat --dumpfile=cvs2svn-tmp\git-dump.dat "--username=cvs2git" \\remoteServer\path\to\myrepo\module 

마이그레이션이 작동합니다.

저장소는 원격 서버와 및 자식-dump.dat가 내 PC에 생성 된 자식-blob.dat에 놓여있다.

더 많은 fexlible을 사용하고 CVS 작성자를 git 작성자로 변환하려면 options-file 방법을 사용하고 싶습니다. 그렇게 할 때 오류가 발생합니다.

내가 오류가 미세하지만 pass4에서 (FilterSymbolsPass) 작업

  1. PASS1 (CollectRevsPass)
  2. PASS2 (CleanMetadataPass)
  3. pass3 (CollateSymbolsPass)

단계 : 변환하려는 모듈의 경로는 \\remoteServer\path\to\myrepo\module입니다.

Filtering out excluded symbols and summarizing items... ERROR: The command 'cvs -Q -R -f -d :local:\\remoteServer\path\to\myrepo K co -r1.1 -p -kb module/.cvsignore' failed with exit status=1 and the following output: cvs [checkout aborted]: Local access to network share not supported (Use -N to o verride this error).

은 내가 옵션 - 파일 및 명령 줄 방법 ​​모두에서 저장소에 동일한 경로를 사용하기 때문에이 왜 잘 모릅니다.

어떻게이 문제를 해결할 수 있습니까?

답변

0

명령 줄에서 cvs2git을 실행하면 기본값은 내부 코드를 사용하여 CVS에서 데이터를 읽는 것입니다. 그러나 옵션 파일 방법을 사용하여 실행하는 경우 기본값은 CVSRevisionReader이며 cvs 명령을 사용하여 CVS 저장소에서 정보를 가져옵니다.

하나의 옵션은 GitRevisionCollector이 아닌 을 사용하도록 옵션 메소드에 지시하는 것입니다. 그러나 저장소가 CVSNT (표준 CVS와 반대되는)에 의해 실제로 작성된 것이라면 CVSRevisionReader을 사용하는 것이 좋습니다.

"네트워크 공유에 로컬 액세스가 지원되지 않습니다."라는 문제는 CVSNT 특성입니다. 오류 메시지는 해결책을 제시합니다. -N을 옵션에 추가하십시오. 당신은 CVSRevisionReader 생성자에 전달 된 매개 변수를 the instructions here를 다음과 조정하여 해당 작업을 수행 할 수 있습니다

CVSRevisionReader(cvs_executable=r'cvs', global_options=['-q', '-N', '-f']), 

희망을!

+0

빠른 응답에 감사드립니다. 'global_options = [ '- q', '-N', '-f']'를 복사하고 지침에 따라 추가했습니다. 오류 : 명령 'cvs -q -N -f -d : 로컬 : \\\\ remoteServer \\ 경로 \\를 \\ myrepo로 지정합니다. K co -r1.1 -p - kb 모듈 /.cvs checkout : XXX.X.X.X (XXX.X.X : X : abcd)에 연결 : abcd failed : 대상 컴퓨터가 적극적으로 거부했기 때문에 연결할 수 없습니다. cvs [checkout aborted] : 서버 잠금에 연결하지 못했습니다. ' 하지만 서버 문제 일 경우 왜 옵션 파일을 사용하지 않을 때 작동합니까? – ueberBrot

+0

잠금 서버가 관련되어 있습니까? 나는 그것에 대해 아무것도 모른다. 그것은 CVSNT hocus-pocus 여야합니다. 내 대답의 첫 번째 단락은 명령 줄 방법을 사용할 때 왜 효과가 있었는지 설명했습니다. – mhagger

+0

Ok 명령 줄을 사용하여 마이그레이션을 수행 할 것입니다. 감사 – ueberBrot

관련 문제