私の会社の特定のワークフローの問題について、メインのリポジトリが git の下にある間に、一部のユーザーが CVS を使用できるようにする必要があります。
このタスクの実装として git-cvsserver を選択しました。
git リポジトリをセットアップし、gitcvs で有効にして、xinetd で pserver シミュレーションをセットアップしました。すべて正常に動作し、pserver エミュレーションで作成した passwd ファイルに対して認証を行い、cvs クライアントからこのリポジトリを操作できます。
私の問題は、CVS を介して作成したコミットが、passwd に対して認証したユーザーの下ではなく、xinetd を実行するユーザーの下に表示されることです。
つまり、ユーザー 'foo' として CVS にコミットし、pserver を介して認証に成功しましたが、このリポジトリのコミットの git 履歴を見ると、コミットがユーザー 'root' によって行われたことがわかります。
git-cvsserver のソース ( http://git.kernel.org/?p=git /git.git;a=blob;f=git-cvsserver.perl ) を調べたところ、CVS ログインは認証であり、実際のコミット用ではありません。SQLite データベースのレコードには、「foo」ではなく「root」ユーザー名も含まれています
CVS ログインを git ユーザー名に伝達する方法を教えてください。
git メーリング リストの xref: http://thread.gmane.org/gmane.comp.version-control.git/169182