2015-02-06 3 views
3

나는 역사적인 이유로 abas-s3이라는 밀교 문자셋을 사용하는 abas-ERP 환경에서 작업하고 있습니다. 우리는 우리 프로그램을 버전 관리하기 위해 ERP 서버의 로컬 리포지토리와 함께 Git을 사용합니다.Git - 이국적인 charset에 대한 지원

당연히 Git은 abas-s3를 지원하지 않습니다. erp 서버에는 s3_conv라는 프로그램이 있습니다.이 프로그램은 abas-s3에서 외부 세계 (예 : UTF-8 및 UTF-16)로 변환되며 그 반대 방향으로 변환됩니다.

리포지토리에 UTF-8을 사용하고 작업 트리에 s3을 사용하려면이 프로그램을 사용할 방법이 있습니까?

의견을 보내 주셔서 감사합니다. 미리 감사드립니다! 문제가 파일 내용와 경우

답변

2

, 당신은 청소/얼룩 필터 (gitattributes 참조) 저장소에 저장할 때 힘내 UTF-8로 변환해야하고, ABAS-S3를하는 내용을 체크 아웃 할 때 사용할 수 있습니다 작업 영역으로

Pro Git에도 설명이 나와 있습니다.


요약 :

넌 두 명령 이루어진 필터 (사용자 또는 시스템 전체 당 저장소 당) 구성 파일에 을 정의해야
  1. : clean 그 변환 작업 영역 표현에서 저장소 표현까지, smudge은 역으로 작동합니다.

    [filter "s3conv"] 
        clean = s3_conv --from abas-s3 --to utf-8 
        smudge = s3_conv --from utf-8 --to abas-s3 
    
  2. gitattributes이 저장소 내부 ( 파일로 선언, 또는 당 저장소, 또는 사용자 단위 : iconv 같은 s3_conv 작품, 그것은 (이 적절한 설정 파일의 조각입니다) 같이 할 수 있다고 가정 , 또는 시스템 전체) 어떤 파일이이 작업을 사용하여 변형되어야합니다. 다음과 같이 할 수 *.sql 확장, 파일의 적절한 조각을 사용하여, 당신은 SQL로 파일을 변환 할 것인지 가정 (공백 주위 = 여기가있을 수 있습니다) : 힘내 인코딩되어

    *.sql filter=s3conv 
    

주 - 진단 및 당신 interop에 대한 필요가 없다면 당신은 파일의 내용을 변환하지 않아도됩니까?제대로 git diff 표시 변경을해야하는 경우


(당신이 ABAS-S3 인코딩을 표시 할 수 있습니다 호출기를 가지고 있지 않으며, core.pager에 사용될 수 있다고 가정), 당신은 textconv 필터를 구성 할 수 있습니다INSTEAD :

  1. 설정 파일에서 :

    [diff "s3conv"] 
        textconv = s3_conv --from abas-s3 --to utf-8 
    

    이 터미널 및 호출기를 표시하도록 구성되어 있다고 가정 UTF-8 gitattributes 파일에서

  2. : 내 말 응답에 대한 답변과 유감을위한

    *.sql diff=s3conv 
    
+0

감사합니다. 나는 이것을 월요일에 시험해보고 그 결과를 알려주지! –

+0

그게 내가 찾고 있던 바로 그거야. 무리 감사! –