Утилита командной строки SVN не будет работать, если полное имя файла длиннее 256 символов - PullRequest
9 голосов
/ 07 декабря 2009

Я не могу создать рабочую копию из командной строки, используя утилиту svn, если полученные полные имена файлов для некоторых файлов слишком длинные.
Но я могу успешно создать рабочую копию из TortoiseSVN или из Subclipse.
Почему?

Ответы [ 5 ]

7 голосов
/ 07 декабря 2009

На самом деле это не ограничение клиента SVN, а консоли Windows: относительные пути не могут превышать символы MAX_PATH (254) при расширении.

И, в отличие от некоторых заявлений, которые здесь приводятся в комментариях, разработчики svn не забывают о MAX_PATH. Потому что: если вы передадите полные пути вместо относительных, команды будут работать.

Итак, вместо

cd C:\some\...\very\long\path
svn up .

пробег

svn up c:\some\...\very\long\path

и все должно работать нормально.

6 голосов
/ 07 декабря 2009

В качестве обходного пути вы можете subst свою рабочую копию на букву диска, чтобы сохранить длину пути:

C:\Users\Me\SVN\My\Cool\Repository\With\A\Very\Long\Path> subst S: .
C:\Users\Me\SVN\My\Cool\Repository\With\A\Very\Long\Path> S:
S:> svn up
2 голосов
/ 08 октября 2011

Вместо выполнения следующих действий в текущем каталоге:

svn co http://xxx/repo1

Укажите полный путь к цели, например:

svn co http://xxx/repo1 E:\abc\pqr\xyz\abc\pqr\xyz\repo1
0 голосов
/ 06 марта 2015

У меня была такая же проблема в системе Ubuntu при попытке извлечь хранилище с очень длинными именами файлов. Однако я обнаружил, что моя проблема была связана с шифрованием моего домашнего диска, как объяснено здесь: http://ubuntuforums.org/showthread.php?t=2258374

0 голосов
/ 16 декабря 2009

Если ваша командная строка на самом деле является Cygwin Bash, то вы могли бы исправить эту ошибку:

http://www.itefix.no/i2/node/11064 или же http://old.nabble.com/file-name-too-long-td22189828.html

что фактически означает, что Cygwin не может обрабатывать пути длиной более 255 символов. (В дополнение к ответу Стефана: здесь не возможны ни абсолютные, ни относительные пути.) Cygwin 1.7, которая является бета-версией с полугода, кажется, исправляет это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...