Почему Subversion не позволяет "." и "@" в именах пользователей? Или это? - PullRequest
3 голосов
/ 10 мая 2009

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

Ответы [ 6 ]

2 голосов
/ 10 мая 2009

Что ж, поскольку вы можете создавать группы, состоящие из нескольких пользователей, и позже обращаться к ним с помощью @ , я думаю, наличие @ в обычном имени пользователя может быть проблемой.

Это пример из файла authz по умолчанию, сгенерированного при создании нового хранилища svn:

[groups]
harry_and_sally = harry,sally
[repository:/baz/fuz]
@harry_and_sally = rw

Что дает пользователям в группе harry_and_sally права на чтение и запись в хранилище в /baz/fuz.

2 голосов
/ 10 мая 2009

Это действительно зависит от того, как вы настроили Subversion. Возможно, стандартная встроенная аутентификация Subversion для svnserve не позволяет. и @ (я не пробовал). Я настроил свои репозитории Subversion, используя Apache вместо встроенного svnserve. В Apache вы можете использовать стандартные средства управления доступом Apache, такие как файлы htpasswd или даже интеграцию с LDAP или Microsoft Active Directory . Затем вы можете использовать адреса электронной почты или логины AD для ваших пользователей Subversion.

1 голос
/ 05 июня 2009

Subversion фактически использует UTF-8 для хранения всех своих данных, включая имена пользователей, поэтому на самом деле нет никаких ограничений на то, что вы можете назвать своими пользователями. Например, я только что создал коммит с пользователем:

'Й, ק,‎ م, ๗, あ, 叶, 葉, and 말.'

Дело в том, что другие программы могут зарезервировать определенные символы для специальных целей, таких как [, = и # в файле svn passwd. Subversion может обрабатывать более широкий диапазон имен пользователей, но этот конкретный формат файла не может. Если вы обнаружите, что не можете использовать определенные символы, это ограничение какой-либо другой ссылки в цепочке, например Apache, вашей IDE, вашей базы данных или чего-либо другого.

Это не слишком полезно, потому что вы, вероятно, не можете легко исправить причину или переключить инструменты, но в наши дни такое состояние "странных" персонажей.

0 голосов
/ 11 мая 2009

Обычный способ создания URI, содержащих имя пользователя: protocol://user@host:port/path. svn также использует это, поэтому символ @ особенный. Я не пробовал, но я уверен, что вы могли бы избежать этого (например, %40), чтобы заставить его работать. Тем не менее, IMO это довольно плохая идея использовать полные адреса электронной почты в качестве имен пользователей. Если вы внутри компании, почему вы не можете использовать местную часть? Все остальное, скорее всего, будет одинаковым для всех пользователей, поэтому вы только повторяете информацию - и это не будет хорошо работать с представлениями журнала.

См. Также RFC 3986 .

0 голосов
/ 10 мая 2009

В моем почтовом адресе компании $ JOB стандартное имя пользователя для Subversion, поэтому оно должно работать.

В моей команде, однако, мы настаивали на том, чтобы нам давали наши (также в масштабах всей компании) имена пользователей Windows, длина которых обычно не превышает 8 символов. Имена пользователей, такие как Reallylongfirst.Andlastname@amazing-products.com, обеспечивают ужасное удобство использования в стандартных средствах просмотра журналов графического интерфейса пользователя и плохо воспроизводятся с svn blame.

.
0 голосов
/ 10 мая 2009

Это позволяет "." в имени пользователя, никогда не пробовал @.

...