2014-03-31 2 views
2

이것은 내 첫 번째 질문이며, 잘못된 것은 아닙니다.git-svn이 Windows에서 서브 버전 구성 파일 (auto-props)을 무시합니다.

제목에서 알 수 있듯이, 나는 중앙 SVN 저장소가있는 프로젝트에서 git-svn을 사용하려고 노력하고있다. SVN 저장소는 auto-props를 사용하며 로컬 SVN 구성 파일에 제대로 설정되지 않은 경우 커밋이 거부됩니다.

여기에 StackOverflow를 비롯하여 git-svn이 svn 구성 파일을 읽고 준수하기에 충분히 똑똑하다는 것을 읽을 수 있습니다. 따라서 이미 Subversion 클라이언트를 올바르게 구성했다면 git-svn이 작동해야합니다. 불행히도 이것은 나를위한 것이 아닙니다.

내 SVN 구성 파일의 내용은 C : \ Users [myusername] \ AppData \ Roaming \ Subversion \ config 인 위치입니다. 모든 댓글 (및 댓글 만)을 삭제했습니다. SVN에 커밋

[auth] 

[helpers] 

[tunnels] 

[miscellany] 
global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* *.swp ~* 
enable-auto-props = yes 
use-commit-times = yes 

[auto-props] 
*.e = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.c = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.h = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.cpp = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.y = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.py = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.ecf = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.xace = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.ace = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.ge = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.eant = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.bm = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.bat = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.sh = svn:keywords=Author Date ID Revision;svn:eol-style=native 
*.xeb = svn:keywords=Author Date ID Revision;svn:eol-style=native 
Mak* = svn:keywords=Author Date ID Revision;svn:eol-style=native 
tcf = svn:eol-style=native 
output = svn:eol-style=native 
output? = svn:eol-style=native 

완벽하게 작동, 그리고 내가이 파일을 편집하고 noenable-auto-props를 설정 한 경우 (서버가 필요한 자동 소품이 설정되지 않았 음을 말하고 그것을 거부) 작동을 멈 춥니 다, 그래서 이것은 올바른 파일입니다 편집하고 파싱 중입니다. 슬프게도, 자식-SVN은 전적을 무시하고 Dcommitting은 항상 다음과 같다 같은 오류 메시지와 함께 실패 :

이 메시지는 내가 커밋하려고 관련 확장자를 가진 모든 파일을 여러 번 반복
ERROR from SVN: 
A repository hook failed: MERGE request failed on '/[url omitted]/Src': Commit blocked by pre-commit hook (exit code 1) with output: 
Props 'svn:keywords=author date id revision' missing (or not expected) 
Props 'svn:eol-style=native' missing (or not expected) 
Props issue on: /[url omitted]/some_file.cpp 

.

Windows에서 "C : \ Users [myusername] .subversion \ config"에있는 Subversion 구성 파일의 다른 사본이있을 수있는 StackOverflow 응답에 대한 설명을 읽었지만 이것은 아닙니다. 나를 위해. 확실하게,이 경로에 config 파일을 복사했는데 아무 것도 변경되지 않았습니다.

나는 이것이 일반적인 문제인 것처럼 보이지 않는다는 것에 놀랍니다. 인터넷에서 같은 질문을하는 사람들이 많을 것으로 예상했지만, 그렇지 않은 것 같습니다. 사람들이 자동 소품에 대해 물어볼 때 대답은 항상 "git-svn이 SVN 설정 파일을 존중해야한다는 것입니다. 일반적으로"고맙습니다. 작동합니다! "라는 메시지가 나오기 때문에 설치 과정에서 뭔가가 달라질 수 있습니다. 솔직히 내가 어떻게 문제를 해결할 수 있는지에 대한 단서가 없습니다.

미리 감사드립니다. 도움을 주셔서 감사합니다.

답변

2

좋아, 해결책을 찾았습니다. git-svn이 잘못된 설정 파일을 찾고 있었기 때문에 git-svn이 내 설정을 무시하고 있었다고 추측합니다. git가 실제로 어디에 git 구성을 저장하고 있었는지 찾고 싶습니다. git config --global --edit (파일이있는 위치를 볼 수있는 편집기가 열립니다) 명령을 스택에서 찾았습니다.

Subversion과 달리 git 구성은 도메인 사용자 프로필이 저장되어있는 컴퓨터의 네트워크 드라이브에있는 것으로 나타났습니다. 해당 드라이브에 SVN 구성 파일의 다른 복사본을 찾은 다음 올바른 파일로 바꿨습니다. 이제는 git-svn이 매력처럼 작동합니다.

비록 내 컴퓨터의 어떤 것이 부적절하게 구성되어야한다고 생각하지만, 이것이 내 문제를 해결했습니다.