2009-02-03 6 views
2

리차드의 설명과 Steen의 답변은 CVS에 표시된 유형 파일과는 독립적으로 유형 mime 파일을 지정해야한다는 것을 알고 있기 때문에 모든 파일을 이진 파일로 처리하는 방법을 찾고 있습니다. cvs2svn? 아마도 가능하지 않을까요?cvs2svn mime types

Richard (또는 다른 사람들) 제발, 주어진 파일에 대해 CVS에서 표시된 유형을 아는 방법을 알려주시겠습니까?


안녕하세요, 모든 파일을 이진 파일로 처리하는 방법은 무엇입니까?
16 패스 (cvs2svn 중)가 올바르게 수행되었지만 여러 바이너리 파일이 손상되었습니다 (예 : .gif). 이진 파일로 처리되지 않습니다!

내가 사용하는 명령 줄은 다음과 같습니다

python C:\noinstaller\cvs2svn-2.2.0\cvs2svn -s "SVN_REPO" "CVS_REPO" --use-cvs 
--encoding=latin1 --mime-types=svn-mime-types --eol-from-mime-type 
--keywords-off --sort=C:\noinstaller\UnxUtils\usr\local\wbin\sort.exe 

CVS2SVN FAQ의 독서 후, 나는 많은 다른 옵션을 시도했지만, 같은 동일한 파일은 항상 손상되었습니다.

감사합니다. 신자.

+0

빠른 질문 : gif 파일이 CVS에 바이너리로 표시되어 있습니까? –

+0

제발 Richard에게 주어진 파일에 대해 CVS에서 표시된 유형을 아는 방법을 알려주시겠습니까? – pindare

답변

1

나는 cvs2svn이 모든 파일을 바이너리 파일로 간주하도록하는 것은 불가능하다는 것을 추론합니다.

+0

죄송합니다. 운이 없다. http://markmail.org/thread/iup7e3kdhsurgvja에 도움이되는 또 다른 게시물이 있습니다. –

4

Subversion은 휴리스틱 알고리즘을 사용하여 파일이 바이너리인지 여부를 확인합니다. 먼저 mime-types-file 구성 매개 변수가 설정되어 있는지 확인하고이를 사용하여 파일을 MIME 유형에 매핑합니다. 이러한 구성을 찾지 못하면 1024 바이트의 첫 번째 바이트를보고 15 % 이상이 ASCII 범위를 벗어나거나 둘 중 하나가 null 값이면 파일이 바이너리로 간주됩니다. 특정 파일 유형의 MIME 유형을 구체적으로 설정하려면 auto props을 사용해야합니다.

는 전복이 마임 타입 image/x-xbitmap 또는 image/x-xpixmap의 할 파일을 결정하는 경우, 그것은

자동 소품이 svn addsvn import 행동에 영향을주고 runtime configuration 사용하여 설정 텍스트 파일로 처리됩니다 있습니다 subversion 설치 conf 디렉토리에있는 config 파일을 사용하여 지정됩니다. 다음 값을 설정해야합니다.

# default is 'no', so we enable auto props with 
enable-auto-props = yes 

# specify absolute path to mime.types like file, e.g. 
mime-types-file = /etc/mime.types 

이진 파일을 올바르게 매핑해야합니다.

편집 : cvs2svn 교재 :

--auto-소품 = FILE

그 [자동 소품] 섹션이 사용될 수있다 서브의 설정 파일의 형식으로 파일을 지정할 파일 이름을 기준으로 Subversion 저장소의 파일에 임의의 속성을 설정합니다. [auto-props] 섹션 헤더가 있어야하며 enable-auto-props 설정을 포함하여 구성 파일의 다른 섹션은 무시됩니다. 파일 이름은 대/소문자를 구분하지 않고 파일 이름 패턴과 일치합니다 ( ). Subversion의 동작.자동 소품 파일이 이 같은 내용이있을 수 있습니다 명령 줄 스위치 --auto-props 및 자동 소품 파일을 사용하여, 그래서

[auto-props] 
*.txt = svn:mime-type=text/plain;svn:eol-style=native 
*.doc = svn:mime-type=application/msword;!svn:eol-style 

을, 당신은 cvs2svn의 원하는 기능을 얻을 수 있어야합니다 스크립트

+0

나는 brainkiller와 함께 일하며 답장을 보내 주셔서 감사합니다 (+1). 그러나 mime-types-file 옵션에 문제가있는 것 같습니다. "mime-types"파일이 고려되지 않은 것입니다. 만약 그렇다면 모든 것을 바이너리로 처리 할 수 ​​있습니다. – VonC

3

진 모든 파일을 치료 cvs2svn이 방법의 문제, 내가 EOL

012에 관한 질문의 섹션을 가리 단지 수에 관해서는

버전 2.0부터 cvs2svn의 기본 동작은 명시 적으로 텍스트 인 것으로 결정된 파일을 제외하고 모든 파일을 바이너리로 처리하는 것입니다. 자주 묻는 질문에서 또한

:.

파일이 CVS 관리 -kb와 CVS (이진로 표시되어있는 경우

는 다음 cvs2svn은 항상 바이너리로 파일을 처리합니다

으로 파일이 바이너리로 표시되는지 확인하려면 CVS의 파일에서 -kb 옵션을 찾으십시오 .WinCVS에는 인코딩과 마찬가지로이 항목과 열이 있습니다.

불행히도, 저는 해결책이 없습니다. 하지만 나는 d는 명령 인수를 단순화하여 해당 파일에 대해 올바르게 작동하지 않는 것에 집중합니다. --auto-props 파일을 사용하면 각 파일을 완벽하게 제어 할 수 있습니다. CVS 파일이 "깨끗한"경우 (모든 파일이 텍스트 및 바이너리로 올바르게 커밋되었음을 의미 함) --default-style = native 매개 변수가 가장 좋은 결과를 나타냅니다.

행운을 빈다. 우리에게 무엇이 효과가 있는지 알려주십시오.

+0

Richard에게 감사합니다. 그 포인터는 +1입니다. Brainkiller와 나는 지금 그것을 조사하고있다. 한 가지 문제는 Unix의 CVS repo에서 Windows 플랫폼으로 cvs2svn을 실행하는 것입니다. – VonC

+0

@VonC : 재밌어, 나는 똑같은 일을하는 중이 야. Unix의 CVS -> Windows의 SVN. 불행히도 SOX는 시스템에 손을 대지 못하게하므로 실험 할 수 없습니다. 여하튼, 우리의 바이너리는 --default-style = native를 사용하여 잘 동작한다. –

+0

@ 리차드 모건 : 2.2.0 버전에서 파이썬 스크립트 cvs2svn을 사용하고 있습니까? – VonC