2017-10-25 16 views
3

GitHubからプロジェクトをダウンロードし続けて処理しているプログラムがあります。それから、私は今、すべてのプログラムを見つけて、ユーザーアカウントとパスワードを入力するためのGitHubプロンプトで私のプログラムを止めました。"git clone"のリターンコード32768の意味

のGitHubについての私の探査は、これらのプロジェクトは、もはや有効であることを示していないと私は「gitのクローン」(例えば、https://user_name:[email protected]/dev/proj.git)への私のアカウントとパスワードを追加した場合、私はパスワードプロンプトを回避し、リターンコード32768

を得ることができること

したがって、ダウンロードとダウンロードの失敗を区別するための方法として32768を使用します。しかし、多くの妥当なGitHubプロジェクトの "git clone"も状態コードとして "32768"を返すことが判明しました。

私は「32768」と誤解している可能性があります。私の最初の問題は、 "32768"が "git clone"のリターンコードとして意味するものです。

私は監督なしでプログラムを実行する必要があります。私の2番目の質問は、ユーザーのアカウントとパスワードを入力しなくても、 "git clone"が正常に終了することをプログラムで確認する方法です。

------ add ---- デバッグを見つけると、Linux端末のgit cloneコマンドの戻りコードが128であることがわかりました。私はos.system(cmd_git_clone)を使ってコマンドを実行しました。 os.systemのコードは32768です。

+0

128と32768の間に関係はありますか? 'os.system'のドキュメントをどんな言語で読んでもいいでしょう。それはおそらくリターンコードに使われるルールを説明するものです。 –

答えて

2

これはステップ数として実行可能です。まず、(あなたのプログラムが立ち往生しないように)、パスワードの入力を要求しないようにgitを設定します。

GIT_TERMINAL_PROMPT=0 git clone <repository> 

次にコマンドのリターンコードをチェックし、それが有効であれば、クローンが働いた:

retVal=$? 
if [ ! $? -eq 0 ]; then 
    echo "Error" 
else 
    echo "Success" 
fi 
exit $retVal 
1

私はちょうど同じステータスコードに遭遇し、何時間も困惑していました。

stderrorメッセージをデバッグして読み込んだら、Gitは自分が誰であるか知らないと不平を言っていました(Git: "please tell me who you are" error参照)。私はgitで自分の名前と電子メールを設定するために私のプログラムにいくつかの行を追加しました。

これは、あなたの仕事をするスクリプトを持っている場合、これは非常によくあるエラーのようです。

関連する問題