Подтвердить что ты не робот

Метод SVN 405 не разрешен

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

svn: сервер отправил неожиданное возвращаемое значение (405 Method Not Allowed) в ответ на запрос MKCOL для '/svn/www/! svn/wrk/9de0d765-2203-456c-af16-58e792ec7ac0/trunk/htdocs/solutions/medical

Я запускал бесчисленные очистки, коммиты, обновления и т.д. Ничто не решает проблему. Идеи?

FYI, у меня нет возможности переименовать папку верхнего уровня.

4b9b3361

Ответ 1

Я предполагаю, что папка, которую вы пытаетесь добавить , уже существует в SVN. Вы можете подтвердить, проверив файлы в другой папке и посмотрите, есть ли у этой магистрали уже требуемая папка.

Ответ 2

Самый быстрый способ для меня исправить это - дублировать затронутую папку и передать ее с альтернативным именем. Тогда svn mv duplicateFolder originalFolder. Довольно легко.

Итак, возьмите папку1 и создадим папку1Copy:

svn delete folder1
svn add folder1Copy

Зафиксировать и обновить:

svn mv folder1Copy/ folder1/

Зафиксировать снова и зафиксировать.

Ответ 3

Моя папка "исчезнувшая" была libraries/fof.

Если я удалю его, затем запустил обновление, оно не появится.

cd libaries
svn up

(ничего не происходит).

Но обновление с фактическим именем:

svn update fof

сделал трюк, и он был обновлен. Поэтому я взорвал мою (вручную смонтированную архивом) рабочую копию и подтвердил ее. Самое простое решение.

Ответ 4

Я просто исправил это в своем собственном репозитории. Я использую TortoiseSVN для Windows, поэтому я не уверен, какие команды это переводится в командной строке, но вот что я сделал:

Проблематичная папка называется lib, и она должна быть добавлена.

  • Сначала я отключил добавление, так что SVN больше не обращал внимания на он.
  • Затем я переименовал его (в libs, а не то, что имеет значение) с помощью контекстного меню Windows, добавил его и успешно завершил.
  • Наконец, я переименовал его обратно в lib с помощью контекстного меню TortoiseSVN (это, вероятно, важно) и снова зафиксировано.

Ответ 5

Я также встретил эту проблему только сейчас и решил ее таким образом. Поэтому я записал его здесь, и я хотел бы, чтобы это было полезно для других.

Сценарий:

  • Прежде чем я зафиксирую код, пересмотр: 100
  • (Кто-то еще фиксирует код... ревизия увеличена до 199)
  • Я (забыл запустить "svn up",) передать код, теперь моя версия: 200
  • Я запускаю "svn up".

Произошла ошибка.

Решение:

  • $mv current_copy copy_back # Переименовать текущую копию кода
  • $svn checkout current_copy # Проверьте его снова
  • $cp copy_back/current_copy # Восстановить ваши изменения

Ответ 6

У меня была аналогичная проблема. Я закончил тем, что выкачал его с орбиты и потерял мою историю SVN в этом процессе. Но, по крайней мере, я пропустил эту проклятую ошибку.

Это, вероятно, субоптимальная последовательность команд для выполнения, но она должна довольно точно следовать последовательности команд, которые я на самом деле делал, чтобы заставить работу работать:

cp -rp target ~/other/location/target-20111108
svn rm target --force
cp -rp ~/other/location/target-20111108 target-other-name
cd target-other-name
find . -name .svn -print | xargs rm -rf
cd ..
svn add target-other-name
svn ci -m "Re-re-re-re-re-re-re-re-re-re import target"
svn mv target-other-name target
svn ci -m "Re-re-re-re-re-re-re-re-re-re import target"

Ответ 7

Если вы используете code.google.com для размещения вашего репозитория Subversion.

Вы знаете, что ниже, правильно?

If you plan to make changes, use this command to check out the code as yourself using HTTPS:

# Project members authenticate over HTTPS to allow committing changes.
svn checkout https://.../svn/trunk/ user-...

When prompted, enter your generated googlecode.com password.
Use this command to anonymously check out the latest project source code:

# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://.../svn/trunk/ ...-read-only

Об ошибке, о которой вы говорили, вы используете Non-members may check out a read-only working copy anonymously over HTTP статус. Поэтому вы не можете совершать или делать что-либо до сих пор.

Вы должны использовать Project members authenticate over HTTPS to allow committing changes вещь.

Теперь все будет хорошо.

Ответ 8

Добавленный в данный каталог каталог уже зафиксирован в репозитории. Поэтому удалите каталог в репозитории и снова запустите тот же каталог.

Ответ 9

Я столкнулся с той же проблемой и смог ее исправить:

  • Скопируйте папку в другое место.
  • Удалить .svn из скопированной папки
  • Щелкните правой кнопкой мыши исходную папку и выберите "SVN Checkout"
  • Если вы не можете найти (3), то ваш случай отличается от моего.
  • Проверьте правильность каталога в REPO-BROWSER. Для моего случая это было причиной.
  • Отъезд
  • Верните файлы из скопированной папки в исходный каталог.
  • Commit.

Ответ 10

Это означает, что папка/файл, который вы пытаетесь установить на svn, уже существует. Мой совет: прежде чем делать что-либо, просто щелкните правой кнопкой мыши по папке/файлу и нажмите на repo-browser. Делая это, вы сможете увидеть все файлы/подпапки и т.д., Которые уже присутствуют на svn. Если требуемый файл/папка отсутствует в svn, тогда вы просто удаляете (после резервного копирования) файл, который вы хотите добавить, а затем запустите обновление.