Как настроить Subversion для работы с символами в кодировке URL? - PullRequest
1 голос
/ 19 января 2011

Я пытаюсь проверить проект Subversion, который я настроил на удаленном сервере.Он отлично работает для большинства каталогов, однако, как только приходит время проверить файл с именем «% 20Loft.pdf», весь процесс прерывается.Похоже, что он не может создать файл "/.svn/tmp/text-base/" для него.Я предполагаю, что у него проблемы с символом% 20.

На самом деле ошибки: svn: Невозможно открыть файл 'src-holdings / httpdocs / wp-content / blogs.dir / 2 / files /2010/05 / .svn / tmp / text-base / Amanda-Kuda.jpg.svn-base ': Нет такого файла или каталога

Где «Amanda-Kuda.jpg» - это файл, следующий за «% 20Loft.pdf».После просмотра "/.svn/tmp/text-base/" создается впечатление, что создаются все файлы .svn-base, кроме тех, которые следуют за "% 20Loft.pdf" в порядке извлечения.

Как я могу перенастроить свой сервер (Linux) или Subversion для обработки файлов этого типа без поломок?Я бы просто применил политику «без пробелов», но это клиентская установка WordPress, и я не могу рассчитывать на них, чтобы избежать файлов с пробелами.

1 Ответ

1 голос
/ 19 января 2011

Следующий сеанс в моем окне Windows показывает, что у Subversion нет проблем с именами файлов, содержащими пробелы или "% 20":

D:\svn>svnadmin create testrepo  

D:\svn>mkdir files

D:\svn>echo content > "files\foo bar"

D:\svn>echo content > "files\foo%20bar"

D:\svn>svn import files file:///d:/svn/testrepo -m "imported files"
Adding         files\foo%20bar
Adding         files\foo bar

Committed revision 1.

D:\svn>svn co file:///d:/svn/testrepo/ checkoutfolder
A    checkoutfolder\foo%20bar
A    checkoutfolder\foo bar
Checked out revision 1.

edit : Судя по этой теме о том же сообщении об ошибке, у вас есть два файла в вашем хранилище с одинаковыми именами, отличающимися только регистром.Это вызывает проблемы, потому что ваша локальная файловая система не поддерживает это.

Чтобы убедиться в этом, вы можете использовать команду svn ls для проверки имен файлов в хранилище или выполнить проверку в linux.Чтобы это исправить, вы используете команду svn mv для переименования одного из поврежденных файлов или svn rm для удаления одного.

...