2013-08-22 4 views
2

Я пытаюсь импортировать репозиторий в SVN с помощью:Ошибка команды импорта svn?

svn import /home/guest/Desktop/first_repo/ file:///var/www/svn/repos/first_one -m "first repository" 

Когда я огнь этой команды, я получаю большой список добавленных файлов и, наконец, выходит с ошибкой, перечисленной ниже:

svn: Can't move '/var/www/svn/repos/db/txn-protorevs/1-d.rev' to 
'/var/www/svn/repos/db/revs/0/2': Permission denied 

Я изменил разрешения каталога repos и всех файлов в нем до 777. Я отключил selinux.

Затем, я попробовал то же, что и Super User: он был добавлен, и я также могу проверить. Но, когда я пытаюсь совершить с некоторыми изменениями (как обычный пользователь) я получаю ту же ошибку снова:

Transmitting file data .svn: Commit failed (details follow): 
svn: Can't move '/var/www/svn/repos/db/txn-protorevs/1-e.rev' to 
'/var/www/svn/repos/db/revs/0/2': Permission denied 

Теперь у меня есть два вопроса:

  1. Является svn import обязательным, и она должна быть сделано как Super User? Если да, то почему я не могу совершать как обычный пользователь? (Я даю 777 разрешений)
  2. Я делаю что-то неправильно?

ответ

2

Наконец, я получил ответ самостоятельно.
Проблема в файлах /var/www/svn/repos/db/transactions и /var/www/svn/repos/db/txn-protorevs не имеют разрешений доступа. Я дал 777 разрешений этим папкам, но я забыл предоставить разрешения на файлы внутри этих папок.

Итак, необходимо правильно проверить разрешения всех папок и файлов. Спасибо.

1

Мой сценарий создавал новое репо на сервере и пытался импортировать его с клиента.

Я сравнил все разрешения групп и пользователей и разрешения файлов с рабочим репо на том же сервере. Несмотря на все соответствия, я неоднократно получал ошибку «не могу писать ...».

Я решил проверить версии svn на сервере и клиенте и нашел незначительное несоответствие. Сервер выполнял 1.7.9, а клиент 1.7.19. Я вернулся и создал другое репо, но сделал это с флагом «--pre-1.6-compatible»: «svnadmin --pre-1.6-совместимый создать репо-новый»

После этого все сработало.

Смежные вопросы