svn diff : 바이너리 유형으로 표시된 파일


82

나는 일을 해요 svn diff내 파일 중 하나와 SVN 바이너리 형식으로 그것을 감지된다. 이 파일은 읽을 수있는 일반 텍스트이며이 파일의 차이를 얻고 싶습니다. 바이너리 파일이 아니라는 것을 SVN에 어떻게 알립니 까?

Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

답변:


81

당신이 사용할 수있는 서브 속성 SVN을 : 마임을 파일에 명시 적 MIME 유형을 설정합니다 :

svn propset svn : mime-type 'text / plain'path / to / file

또는 다음을 사용하여이 속성을 삭제할 수 있습니다 (Subversion은 일반 텍스트를 가정하므로).

svn propdel svn : mime 유형 경로 / 대상 / 파일

4
하지만 애초에 바이너리로 표시된 이유는 무엇입니까? 많은 소스 파일에 대해 동일한 문제가 발생하며 매번 속성을 삭제하는 것이 고통 스럽습니다.
angularsen

다른 질문을해야 할 것 같네요 ... 여기에 링크를 추가 할 수도 있습니다.
Eric Wilson


누군가가 svn에서 새로운 복사본을 체크 아웃 할 때 파일이 실행되는 방식을 변경합니까 (파일의 MIME 유형 변경)? 그런 경우 diff를보기 위해 --force 옵션을 사용하는 것이 더 합리적이라고 생각합니다.
Rishi

@Rishi, 아니, 그렇지 않습니다. 파일에 실행 권한 비트가 있어야하는지 여부를 결정하는 별도의 "svn : executable"속성이 있습니다.
Michael Aaron Safyan 2014 년

114

를 사용하여 바이너리로 표시된 파일에 대해서도 diff를 얻을 수 있습니다 --force.

svn diff --force path/to/file


5
이 응용 프로그램 / JSON 같은 뭔가 더 나은 대답이다
스티븐 R. 루미스

2
@BrettZamir하지만 출력이있는 거의 모든 작업을 수행 할 수 있습니다.
entonio

1
@entonio : 예, 알아요 ... GUI 클라이언트를 사용 하여이 오류가 발생했을 때 지적해야한다고 생각했고 내가 말할 수있는 한 해결할 수 없었기 때문에 자주 사용하지 않는 다른 사람들이 생각했습니다. 명령 줄에이를 알릴 수 있습니다.
Brett Zamir
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.