Cygwin을 사용하고 있습니다.어떻게하면 Git이 특정 Svn 클라이언트를 사용하도록 할 수 있습니까?
$ type svn
svn is /cygdrive/c/Program Files/SlikSvn/bin/svn
$ echo $PATH | sed 's/:/\n/g'
/cygdrive/c/Program Files/SlikSvn/bin
/bin
/home/me/bin
/home/me/bin
/usr/local/bin
/usr/bin
/cygdrive/c/Program Files (x86)/Haskell/bin
/cygdrive/c/Program Files (x86)/Haskell Platform/2012.4.0.0/lib/extralibs/bin
/cygdrive/c/Program Files (x86)/Haskell Platform/2012.4.0.0/bin
/cygdrive/c/Windows/system32
/cygdrive/c/Windows
/cygdrive/c/Windows/System32/Wbem
/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0
/cygdrive/c/Program Files/TortoiseSVN/bin
/cygdrive/c/Program Files/Java/jdk1.6.0_34/bin
/cygdrive/c/apache-maven-3.0.4/bin
/cygdrive/c/apache-ant-1.8.0/bin
/cygdrive/c/Program Files (x86)/Haskell Platform/2012.4.0.0/mingw/bin
/cygdrive/c/cygwin/bin
/cygdrive/c/Program Files (x86)/QuickTime/QTSystem
/cygdrive/c/Program Files/nodejs
/cygdrive/c/Program Files (x86)/phantomjs-1.9.1-windows
/cygdrive/c/Program Files/SlikSvn/bin
$ git svn dcommit
Committing to https://svn.corp.corp.com/svn/results/trunk ...
R foo => bar
assertion "svn_fspath__is_canonical(child_fspath)" failed: file "/usr/src/subversion/subversion-1.8.5-1/src/subversion-1.8.5/subversion/libsvn_subr/dirent_uri.c", line 2504, function: svn_fspath__skip_ancestor
error: git-svn died of signal 6
이유 나는 경로가 하나의 첫 번째를 사용하여 생각하지 않는다 : 나는 자식이 경로에 찾은 첫 번째 SVN 클라이언트를 사용하는 것이지만, 그런 경우가 될 것 같지 않습니다 가정 오류는 /usr/src/subversion/subversion-1.8.5-1/src/subversion-1.8.5/subversion/libsvn_subr/dirent_uri.c
이고 내 경로의 첫 번째 문자는 /cygdrive/c/Program Files/SlikSvn/bin
입니다.
나는 그들이 이미 그것에 대해 알고 있다고 생각합니다. 당신은 여기에서 볼 수 있습니다 : http://stackoverflow.com/questions/17693255/git-svn-dcommit-fails-because-of-assertion-error-svn-fspath-is-canonicalchild?rq=1 –
심지어 해답 그것이 실제적으로 질문에 대답하지 않는다는 것을 표시했다. 그리고 문제는 Git이 특정 버전을 사용하도록 강제하는 방법입니다. 리눅스에서 나는'소스'(Bash에서) 작업 할 때 SVN 1.8.5'git-svn' (v 1.7.10.1)이 복제 도중 실패합니다 (알려진 비 호환성 문제). 소스가 SVN 1.7.9인데'git-svn' 복제본이 성공합니다. 그래서'git-svn'이 1.8.5 대신에 1.8.5 대신'SVN 1.7.9 '를 사용하도록'source'ed할까요? –
@ Adam 질문 : 특정 클라이언트를 사용한다고 말할 수 없다는 질문에 대한 대답입니다. 당신이 묻는 것은 관련 있지만 다른 질문입니다. 어떻게하면 git-svn이 다른 버전의 Subversion 바인딩을 사용하도록 할 수 있습니까? 이에 대한 해답은 원하는 Perl 라이브러리/Subversion 바인딩의 버전을 찾을 수 있도록 PERL5LIB 및 PATH/LD_LIBRARY_PATH/DYLD_LIBRARY_PATH를 설정하는 것입니다. 이 질문에 대한 질문을하고 환경에 대한 세부 정보를 제공하려면 좀 더 자세히 대답 할 수 있습니다. –