git-cvsserver pserver用户名传播

时间:2011-03-16 19:23:22

标签: git git-cvs

对于我公司的某些特定工作流程问题,我需要允许一些用户工作 使用CVS,而主存储库位于git。

我选择git-cvsserver作为此任务的实现。

我设置了git存储库,为gitcv启用了它并设置了pserver模拟 xinetd的。一切正常,我可以使用cvs客户端的这个存储库, 对我通过pserver仿真创建的passwd文件进行身份验证。

我的问题是我通过CVS提交的提交显示在运行的用户下 xinetd,不在用户I下对passwd进行身份验证。

即。我以用户'foo'的身份承诺CVS,我通过pserver成功验证, 但是当我查看这个repo的git提交历史时,我看到了提交 由用户'root'制作。

我查看了git-cvsserver(http://git.kernel.org/?p=git/git.git;a=blob;f=git-cvsserver.perl)的来源,似乎使用了CVS登录 仅用于身份验证,而不用于实际提交。 SQLite数据库中的记录也包含'root'用户名,而不是'foo'

您对如何将CVS登录传播到git用户名有什么想法吗?

gref邮件列表中的外部参照:http://thread.gmane.org/gmane.comp.version-control.git/169182

1 个答案:

答案 0 :(得分:1)

我对此没有具体经验,但git-cvsserver几乎肯定会调用git-commit来完成实际工作。您可以通过设置git-commitGIT_COMMITTER_EMAIL等环境变量(GIT_AUTHOR_EMAIL..._NAME以及{{..._DATE来让..._IDENT为作者和提交者使用您想要的任何内容1}})。如果您有可用的身份验证信息,则可以在实际提交之前在$ENV中进行设置。如果git-cvsserver没有清理它的环境,你实际上可以在调用之前在包装器中设置认证信息(只有以防任何提交的)。