Для некоторых специфических проблем рабочего процесса в моей компании мне нужно разрешить некоторым пользователям работать
с CVS, в то время как основной репозиторий находится под git.
Я выбрал git-cvsserver в качестве реализации для этой задачи.
Я установил git-репозиторий, включил его для gitcvs и настроил симуляцию pserver на
Xinetd. Все отлично работает, я могу работать с этим хранилищем из клиента cvs,
проверка подлинности с помощью файла passwd, который я создал с помощью эмуляции pserver.
Моя проблема в том, что коммиты, которые я делаю через CVS, отображаются под пользователем, который запускает
xinetd, не под пользователем, я аутентифицируюсь против passwd.
т.е. Я фиксирую CVS как пользователя 'foo', я успешно аутентифицируюсь через pserver,
но когда я смотрю на git историю коммитов для этого репо, я вижу, что коммит имеет
был сделан пользователем 'root'.
Я посмотрел источник git-cvsserver (http://git.kernel.org/?p=git/git.git;a=blob;f=git-cvsserver.perl) и похоже, что используется CVS-логин
только для аутентификации, а не для фактической фиксации.
Записи в базе данных SQLite также содержат имя пользователя root, а не foo
Есть ли у вас какие-либо идеи, как я могу распространять CVS логин для git username?
xref в списке рассылки git: http://thread.gmane.org/gmane.comp.version-control.git/169182