ここに私の同僚の回答があります。私たちはもっと簡単な方法を見つけることができなかったのは残念だと思います...
............................ .......................................
「壊れた」ワークスペースについて:その考え方は、Jenkinsが複製したgit repoを見つけて、エラーを再現できるかどうかを確認するのと同じコマンドを実行することです。
まず、find
コマンドを使用して、すべて.git
ディレクトリを検索します。これらのディレクトリはすべて、./workspace/e-HFILH6E7MVL5MF6FEZA6572YMZOIT565G7OEWHB73HGZLG2QQUUQ/.git
などのわかりにくい名前を持っています。親ディレクトリでgit remote -v
コマンドを使用して、git repoが持つリモートを教えてください。私たちは、その後に続いたすべての行の出力ファイルを検索するために、@デイブさんのvim-FUの一部を使用
./workspace/p-ONR7CFBI45A4F2W4OKRGITOA37ZR2W6JLDBTTDNH5YQHODMJJIDA/.git
origin https://github.com/bmlltech/baysinf.git (fetch)
origin https://github.com/bmlltech/baysinf.git (push)
origin1 https://github.com/bmlltech/baysinf.git (fetch)
origin1 https://github.com/bmlltech/baysinf.git (push)
./workspace/[email protected]/.git
origin https://github.com/bmlltech/market_impact.git (fetch)
origin https://github.com/bmlltech/market_impact.git (push)
origin1 https://github.com/bmlltech/market_impact.git (fetch)
origin1 https://github.com/bmlltech/market_impact.git (push)
次のような出力を生成し
find . -type d -iname "*.git" -print -exec git -C {}/.. remote -v \; 2>&1 | tee /tmp/find.log
:find
は私たちのために、すべてこれを行うことができます別の行でtickdata
を含む。これにより、ディレクトリ名のリストが返されました。./workspace/[email protected]/.git
最後に、すべての親ディレクトリでgit status
を実行しましたが、すべてがOKを返しました。その中で、私たちはジェンキンスが問題を抱えているというコマンドを実行し、同じエラーが発生しました。
解決方法は、その "不良"ディレクトリ内のすべてのファイルを手動で削除することでした。すべてが今働いているように見えます。