Я только что получил новый блестящий сервер Debian, переданный мне нашей группой по системам, а каталог / etc находится под контролем версий с помощью Subversion. К сожалению, мне не удалось сохранить некоторые изменения конфигурации; Subversion все время спрашивала у меня пароль джентльменов, которые установили ящик и которые сегодня в 18:00 в отпуске:
djessup@server1:/etc$ sudo svn commit -m "Made some changes."
[email protected]'s password:
У меня не было этой проблемы при проверке изменений от имени себя, только при использовании sudo для фиксации изменений от имени пользователя root.
Моя первая мысль заключалась в том, что кто-то проверил рабочий каталог со встроенным именем пользователя, но информация svn показала, что местоположение репозитория Subversion было svn + ssh: //svn.example.root.ent/svn/its-systems/server1 , а не svn + ssh: //[email protected]/svn/its-systems/server1.
Я пробовал использовать команду --username, описанную в официальное руководство пользователя Subversion. Это было совершенно неэффективно; Имя пользователя Джона Доу (настоящее имя изменено, чтобы защитить невиновных) продолжало появляться. Я искал возможные неправильные настройки в /root/.subversion. Там была нулевая конфигурация.





Как и следовало ожидать от меток времени, я задал этот вопрос уже после того, как получил ответ. Эта проблема была достаточно болезненной, и я хочу, чтобы ее решение распространилось повсюду, чтобы другим людям не приходилось заходить во все тупики, которые я сделал.
После нескольких поисков в Google я наконец нашел Замечательная запись в блоге Харди Ференчика, объясняющий эту проблему. Оказывается, проблема была не в Subversion, а в протоколе SSH, который я использовал для доступа к Subversion. Когда я открыл /root/.ssh/config, я обнаружил следующий текст:
Host svn.example.root.ent
User jdoe
Я заменил jdoe своим именем пользователя в этом файле конфигурации, и все заработало.