5

リモートのgitサーバーには、rcleartoolの非対話型コマンドを使用してクリアケースリポジトリにチェックイン(コミット)するpre-receiveフックがあります。私が取り組んでいるのは、基本的にgit toclearcasebridgeです。残念ながら、このcommitコマンドには、引数としてユーザー名とパスワードが必要です。理想的には、git-pushコマンドが呼び出されたときに、クライアントにユーザー名とパスワードの入力を求められ、それがclearcasecommitコマンドに渡されるようにします。ただし、git-pushのドキュメントには、メッセージをクライアントにエコーバックすることしかできないと記載されているため、ユーザーに入力を求めることはできないようです。

誰かがこれを回避する方法を知っていますか?
誰かがgit-pushをインタラクティブに見せて成功させるために何かを試みたことがありますか?

どんな助けでもありがたいです。

4

1 に答える 1

1

インタラクティブがなければgit-push、これに対する簡単な解決策はありません。
考えられる方法の1つは、ユーザープッシュとの中間を設定することです。 rcleartool checkout

たとえば、強制コマンドsshの原則gitoliteに基づいている場合は、その中間スクリプトを使用して次のことができます。

  • user.name誰がプッシュを行うかを特定します( gitプロパティを確認するよりも決定的に)
  • Gitサーバーのどこかに保存されている(暗号化されている)関連するパスワードを探します(パスワードが定期的に変更されると問題になる可能性があります)

これらの2つの追加情報を使用して、Gitサーバーはrcleartool checkoutパーツを続行できます。

于 2011-02-13T19:48:29.147 に答える