2017-04-21 5 views
2

どのタイプのエラーが発生したのかを理解するために、プログラムでgitクライアントのメッセージを取得する必要があります(認証失敗、認証が必要なものなど)。例えばgitメッセージは標準ですか?

remote: Invalid username or password. 
If you log in via a third party service you must ensure you have an account password 
set in your account profile. 
fatal: Authentication failed for 'https://username:[email protected]' 

これは標準メッセージ(つまり、gitのクライアントのバージョンによって依存しない)ので、私は認証失敗が起こったことを理解するために、それを解析することができますか?

ありがとうございます。

答えて

2

ギフトメッセージはバージョンによって異なります。また、リポジトリのローカル設定と、エラーの場合にリモート原点が出力するように設計されたレスポンスに基づいて変更できます。一部のGitサーバは、認証に失敗したか、リポジトリにアクセスする権限がないなど、エラーにかかわらず常に同じメッセージで応答します。 GitHubの応答は、例えばBitBucketとは異なります。

これらのメッセージをキャプチャする要件は何ですか?あなたの最終目標は何ですか?出力をログに記録して、管理者の注意を引き付けようとしていますか?

+0

こんにちはアダム、私はリポジトリgitの管理Webアプリケーションを書いています。ユーザーはgitとクローンをやりとりする/ push/pullすることができます。ユーザーが間違った資格情報を持つgit cloneコマンドを送信すると、この情報を取得して通知する必要があります。 gui(情報公開)に間違ったパスワードが表示されるため、gitエラー応答を送信できません。エラーコードが必要ですが、これは実行可能ではありません。gitクライアントからこの情報を取得できないためです。 gitメッセージを取得してクリーンアップしようとしていますが、変更した場合はこの方法を使用できません。 – Giper

+0

まあまあまあ、私はgitlabを試してみて、同じ間違った認証要求に対して別のエラーメッセージを受け取るので...特定のタイプのエラーのメッセージのあらゆる可能な形式を知っておく必要があります。これは良い方法ではありません...一般的なgitエラーメッセージをユーザーに送信する必要があります。または、間違った資格情報を公開してgitクライアントメッセージを送信する必要があります(おそらく、この2番目のアプローチを使用することもできます。 – Giper

+0

はい、それは恐ろしいデザインの選択のように思えます。特に資格情報を送り返す - それは大きなセキュリティリスクです。 – TinkerTenorSoftwareGuy

関連する問題