С каких пор и почему SVN Author отличается от входа в SVN? - PullRequest
0 голосов
/ 23 февраля 2012

В настоящее время я использую веб-сервер apache на сервере Windows, на котором размещено несколько репозиториев с индивидуальными настройками того, кто имеет права на запись и / или чтение. Аутентификация будет выполняться в нашей Active Directory, чтобы пользователь мог использовать свои обычные учетные данные, как обычно. Пока все работает нормально и все довольны.

Но теперь один сотрудник увидел интересный эффект, который я мог легко воспроизвести на ванильной основе:

В одном репозитории она (пусть называет ее Алисой) имеет доступ на чтение / запись, а еще один парень (назовем его Боб) имеет доступ только на чтение. Боб нашел ошибку в коде и исправил ее. Когда он пытался зафиксировать изменения, хранилище отклоняло его из-за неправильных учетных данных. Поэтому Боб позвал Алису, чтобы она приехала. Он просмотрел код, нашел его в порядке и снова нажал кнопку «Подтвердить». Сохраненные учетные данные снова не удалось, и Алиса ввела свои учетные данные (не устанавливая флажок сохранения), и данные были переданы в хранилище.

Все работало, как ожидалось, и все были счастливы ...

Но затем Алиса заглянула в журнал подрывной деятельности хранилища, и автором этого конкретного обязательства была не она, а Боб.

Похоже, что TortoiseSVN не принял учетные данные для входа в систему в качестве автора, вместо этого он принял текущего вошедшего в систему пользователя на компьютере с Windows 7.

Как Алиса сказала мне об этом, я был очень удивлен и установил пустой репозиторий на сервере с двумя пользователями (моя обычная учетная запись Windows только для чтения, какая-то специальная учетная запись с доступом для чтения / записи). Я сделал проверку хранилища со своими обычными учетными данными Windows, добавил файл и попытался зафиксировать его. Это не удалось при первом запуске, и после применения учетных данных специальной учетной записи файл был добавлен в репозиторий. Но автором в репо был мой обычный аккаунт, а не специальный аккаунт! В отличие от журналов apache, я вижу, что файл действительно был зафиксирован специальной учетной записью и что предварительные попытки с обычной учетной записью не увенчались успехом.

Из-за того, что я попробовал это с недавно созданным репозиторием, у них нет ловушек, которые могут привести к этой проблеме, а также нет правил перезаписи или чего-то еще, работающего на сервере apache, которое может привести к проблеме.

Все эти тесты были выполнены на компьютере с Windows 7 с использованием Tortoise 1.7.3 - 1.7.5 с одинаковыми результатами. Затем я нашел более старую машину под управлением Windows XP с Tortoise 1.6.5 и попробовал тот же сценарий из их. Здесь поведение отличается!

Вывод заключается в том, что Tortoise 1.7.x в Windows 7 использует автора, отличного от Tortoise 1.6.5 в Windows XP, но я не могу найти информацию об этом изменении где-либо в журналах изменений или заметках о выпуске Tortoise.

Кто-нибудь еще уже заметил это изменение и существует ли способ вернуть его к старому поведению?

1 Ответ

0 голосов
/ 24 февраля 2012

Получив комментарий от bta, я сделал еще несколько попыток и понял, что понимаю, как и когда будет установлен автор:

Имя, которое отображается как автор в журнале Subversion, определяется первой успешной аутентификацией пользователя, введенной после нажатия кнопки ОК в диалоговом окне фиксации, независимо от того, имеет ли этот пользователь право на запись в репозиторий Subversion. Если у пользователя нет прав на запись, появится диалоговое окно аутентификации пользователя во второй раз с запросом учетных данных для записи.

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

Я проводил эти тесты на Windows 7 только с Tortoise 1.7.5, поэтому я не знаю, действительно ли это поведение отличается от XP с Tortoise 1.6.x, но, по крайней мере, я понял, как и когда Tortoise устанавливает автора.

...