2011-10-23 2 views
2

git으로 복제하고자하는 프로덕션 SVN 저장소가 있습니다. 내가 git svn clone하려고하면 경로 파일 이름의 긴 조합을 가진 일부 파일과 관련된 오류가 발생합니다.git mingw32와 윈도우 아래에 긴 경로/파일 이름이 있습니다.

이것은 창이나 유닉스에 이런 종류의 제한이 없기 때문에 git이 실행하는 GNU 셸 mingw32에 의한 제한 사항이라고 생각합니다.

이 제한 사항을 극복하기위한 방법이 있습니까? 나는 내가 git으로 옮기고 싶다고 확신하기 전에 파일 이름/경로를 변경하기를 원하지 않는다.

감사합니다.

+1

관련 항목 : http://stackoverflow.com/questions/4992577/msys-git-and-long-paths – Michael

답변

5

MAX_PATH은 260 문자로 제한되어 있으므로 경로에 최대 260자를 사용할 수 있습니다. 따라서 드라이버 문자, 콜론 및 초기 \과 NUL을 계정하면 경로에 256자를 가짐).

Windows에는 길이가 약 32,767 인 유니 코드 경로가 있습니다. 당신은

은 자세한 내용은 여기를 참조하십시오 \\?\과 경로를 앞에 붙여 같은 경로를 얻을 수 있습니다 : http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx

또한 드라이브 이름으로 긴 경로를 대체하고 작동하도록 subst를 사용하여 볼 수 있습니다.

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/subst.mspx?mfr=true

는 한계를 극복 할 수있는 방법이지만, 물론, git svn clone시에 적용하는 wasy되지 않을 수 있습니다. 클론을 시작하는 경로가 가능한 한 짧아야합니다. subst을 사용하여 복제하려는 경로에 드라이브 문자를 할당하고 해당 드라이브를 사용하십시오.

0

Windows XP를 사용하고 있는데 같은 문제가있었습니다.

첫째, 명령 프롬프트에서 : SUBST의 Z : C : \ 내 \ 오히려 \ 긴 \ 경로 \는 \ 현지 \의 REPO 다음

\를 다음과 같이 나는 SUBST를 사용하여 위의 솔루션을 따라 일했다 git clone https://github.com/my/repo z :/repo_name

이전에 너무 길어서 현재 내 PC에 복제 된 저장소.

0

상기 용액이 작용했다. 그 외에, 기존의 repo 경로는 여전히 tortoicegit의 전체 lenth windows 경로와 함께 brocken으로 표시 될 수 있습니다. 그러나 Windows 탐색기로 이동하여 subst 명령을 실행 한 후 새 드라이브 문자를 가져 오면 u가 적절한 repo 및 tortoicegit을 볼 수 있습니다 거기에서 완벽하게 작동합니다.

관련 문제