2012-05-16 4 views
13

편집 : 문자 인코딩이 엉망이 아닙니다. 지식을 공유하고 다른 사람들이 같은 실수를하는 것을 피하기 위해 여전히 여기에 있습니다.git이 문자 인코딩을 엉망으로 만들 수 있습니까?


컨텍스트 : 내 기업은 SVN 저장소를 사용합니다. 이 저장소와 상호 작용하는 클라이언트로 git-svn을 사용하고 있습니다. 프로젝트의 모든 텍스트 파일은 Windows 기본 인코딩 (cp -....)으로 인코딩되어 있어야합니다. 나는 git-extensions을 사용하고 때로는 git 조종사에게 명령어 라인을 사용한다.

내가 한 일 : 지난 3 일 동안 나는 새로운 기능을 연구 중이었고 여러 가지 커밋을 수행했습니다. 마지막으로 나는 이러한 모든 커밋을 대화 형 리베이스를 사용하여 하나의 콘솔로 압축 한 다음 git svn dcommit을 사용하여 단일 커밋으로 svn 저장소의 모든 것을 푸시합니다.

그 다음에 일어난 일 : 한 동료가 수정 한 파일과 내 커밋 이후 새 파일에서 모든 악센트가 엉망이되었다고 말했습니다. 이전에 git + svn을 설치 한 상태에서 동일한 저장소에있는 악센트가있는 텍스트 파일을 이미 커밋 한 적이 있었으며이 문제에 처음으로 직면했습니다.

내 조사 : ++ 메모장 파일을 열어 그들을 볼 (Windows 기본 및 UTF-8 포함) 최신 인코딩 시도 : 나는 조사하기 위해 다음과 같은 일을했다 그들 중 누구도 제대로 악센트를 표시하지 수를, 다른 액센트는 항상 이상한 문자 모양의 동일한 순서로 렌더링됩니다.

임시 해결 방법 : 신속하게 git 확장을 사용하여 되돌리기 커밋을 만들고이를 "dcommited"했습니다.

질문 : 내 기업의 SVN 저장소는 OK,하지만 지금은 해결하기 위해 다음 두 가지 문제가있다 :

  1. 은 SVN에서 내 작품을 검색 액센트 문자로 무슨 일이 있었는지 이해 (악센트가있는 모든 문자를 수동으로 검토하지 않고 가능하다면)

누구든지 단서를 제공 할 수 있습니까?

+1

당신이 당신의 텍스트 파일의 내용이 경로가 아닌 변경된 것을 의미합니까;

+1

는 "자식 reflog"

해피 악센트 고정하는? (나는 바이트 배열과 같은 파일들로 git-svn이 작동한다는 것을 알고 있기 때문에 물어 본다.) git-svn의 어떤 버전을 사용합니까? –

+0

네, 작동 중에 변경된 파일의 내용이지 경로가 아닙니다. 새 버전이 출시 되 자마자 업데이트 중이지만 지금은 작동하지 않습니다. 가능한 한 빨리 git 및 git 확장의 정확한 버전 번호를 알려 드리겠습니다. –

+0

git-svn dcommits가 저장소를 변경하면 다음 작업이 수행됩니다. –

답변

15

그리고 고통스러운 진실 (나의 자아에 대해 고통 스럽지만 git 사용자에게는 아프다)을 알려 드리겠습니다. 나는 악센트가 아니라 엉망이되었습니다.

나는 단지의 잘못 악센트와 그 자식 캔 혼란을 생각하게 질문을 제거하지만 upvotes의 수를 고려하고 있었다, 나는 많은 사람들이 내가했던 것과 같은 실수를보다 생각, 그래서 나는이 진실을 수립하기 위해 내 자신의 질문에 대답하기 위해 선택한 사람과 같은 경우에 사람들을 도울 수 있습니다.

  1. 줄바닥 문자 이외의 문자는 건드리지 않습니다.
  2. 앞에 나는 커미팅을하기 전에 나는주의를 기울이지 않았기 때문에 그것을 알아 채지 못했습니다. 그렇게하기 위해, 나는 이클립스로 파일의 일부를 편집했다.Eclipse는 인코딩을 인식하지 못하고 악센트는 모두 저장시 이상한 바이트 시퀀스로 바뀌 었습니다. 그게 다야.

다시이 문제를 조사하는 방법에 대한 조언을 주신 Dmitry Pavlenko에게 감사드립니다. =)

+0

유감스럽게도 Eclipse는 다른 기본값을 사용합니다. 및 Windows. 그만큼 혼자서 다른 어떤 것보다 더 많은 어려움을 겪었습니다. –