Svn: E000002: Ошибка коммита
Я пытаюсь опубликовать свой плагин Wordpress в репозиторий svn, который они мне назначили. Я использую git
(not svn), поэтому я пытаюсь использовать git -svn, но я получаю следующую ошибку, когда пытаюсь нажать свое локальное репо git, используя эти инструкции:
$ git svn dcommit
Committing to http://plugins.svn.wordpress.org/wp-github-pipeline/trunk ...
A .bowerrc
A composer.json
A composer.lock
...
A vendor/guzzle/guzzle
b3f5050cb6270c7a728a0b74ac2de50a262b3e02 doesn't exist in the repository at /usr/local/git/lib/perl5/site_perl/Git/SVN/Editor.pm line 401.
Failed to read object b3f5050cb6270c7a728a0b74ac2de50a262b3e02 at /usr/local/git/libexec/git-core/git-svn line 1011.
Я много искал (см. ниже "Другие ресурсы" ), и я понимаю, что эта проблема обычно возникает из-за использования подмодулей в сочетании с git svn
. В какой-то момент у меня был подмодуль, но я сделал файлы и удалил .gitmodules
, используя git filter-branch
описанный здесь, но проблема не устранена. Поэтому я искал больше, и кажется, что использование композитора и/или беседки может вызвать ту же проблему.
Я не пробовал удалить vendor/
из моего .gitignore и передать все сторонние библиотеки... У меня есть подозрение, что это может сработать, но даже если это не будет устойчивым долгосрочным решение.дел >
Есть ли способ сообщить git -svn игнорировать мой .gitignore и загрузить все vendor/ files?
. Или есть другой способ избежать того, чтобы ВСЕ ЗАЯВЛЕНИЯ в репо? Или это другая проблема, чем то, что я думаю? Спасибо заранее!
ОБНОВЛЕНИЕ 1
Я удалил vendor/**
из моего .gitignore
и зафиксировал зависимости в моем локальном репозитории (но не нажал на исходный код). Но я получил ту же ошибку!
ОБНОВЛЕНИЕ 2
Я скопировал все файлы в новый каталог и попытался выполнить базовую транзакцию svn. Нет подмодулей. Все поставщики/файлы включены. И я получаю еще одну ошибку:
$ svn ci -m 'Adding version 1.0 files'
Sending trunk/.gitignore
Adding trunk/README.md
...
Adding trunk/vendor/wp-cli/wp-cli/utils/wp-completion.bash
Adding trunk/wp-cli.yml
Adding trunk/wp-github-pipeline.php
Transmitting file data .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................svn: E000002: Commit failed (details follow):
svn: E000002: Can't open file '/home/svn/repos/wp-plugins/db/transactions/1232700-rw56.txn/props': No such file or directory
Я пробовал svn cleanup
, и произошло то же самое.
ОБНОВЛЕНИЕ 3
Я попытался начать с нуля, и произошла ТОЛЬКО ошибка. Вот точная последовательность команд:
$ mkdir pipeline_svn2
$ svn co http://plugins.svn.wordpress.org/wp-github-pipeline pipeline_svn2
$ cd pipeline_svn2
[ copied all files into pipeline_svn2/ ]
$ svn add trunk/*
$ svn ci -m 'Adding v1.0 files'
[ lots of these... ]
Adding trunk/wp-github-pipeline.php
Transmitting file data ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................svn: E000002: Commit failed (details follow):
svn: E000002: Can't open file '/home/svn/repos/wp-plugins/db/transactions/1233755-rx30.txn/props': No such file or directory
Это заставляет меня думать, что на сервере что-то напугано.
Другие ресурсы
Ответы
Ответ 1
Я, наконец, дошел до конца этого...
После разговора с командой плагина Wordpress они рекомендовали использовать протокол https:
(вместо http:
):
Вместо использования http://plugins.svn.wordpress.org/wp-github-pipeline в качестве URL-адреса вашего плагина, используйте https://plugins.svn.wordpress.org/wp-github-pipeline.
Иногда прокси и различные маршрутизаторы и другие типы модификаторов трафика влияют на трафик SVN для некоторых людей. Использование https обеспечивает сквозное шифрование, предотвращая большинство из них, чтобы изменить трафик и вызвать такие проблемы.
Я внес изменения с помощью svn relocate
, но он все еще не работает, но он дал более подробное сообщение об ошибке. Поэтому я сделал еще несколько исследований и нашел этот пост, который говорит о том, что моя новая ошибка может быть связана с разрешениями/аутентификацией.
Итак, при догадках, я повторно аутентифицировался после удаления файла в ~/.subversion/auth/svn.simple
и сделал новый svn co
и начал с нуля, используя https:
, а затем, наконец, работает!
Я не уверен, была ли проблема связана с перенаправлением http → https или с проблемой аутентификации (у меня есть две учетные записи Wordpress.org).
Ответ 2
У меня была такая же проблема сегодня. В одном коммите я случайно заменил символическую ссылку на подмодуль. Были две проблемы:
- изменение типа чего-то невозможно в одном коммите в svn, например file → directory, directory → file, file → symlink и т.д.
- очевидно, что git подмодули являются признаком git и не могут быть переданы с помощью git svn
Я не вкладывал больше времени в выяснение, какая из этих двух проблем действительно остановилась git svn