1

アプリのユーザーが API を使用してリポジトリから git diff を取得できるようにしようとしています。バグのように感じる奇妙なケースを除いて、うまく機能しています。

基本的に、リポジトリに複数のコミットがある場合、すべてがスムーズに機能します。ただし、最初のコミットが 1 つしかない場合、API は 404 エラーを返し、ページのビューをダウンさせます。githubページで「差分」、または少なくとも最新の(最初の)コミットで変更されたファイルを表示できるため、これは奇妙です。

さらに、受け入れる形式を指定しない場合は、差分を別の形式 (理想的ではありません) で取得できます。

たとえば、私の友人のリポジトリを見てみましょう (これは curl の代わりに Rails の RestClient を使用しています)。コミットが 1 つしかない彼女のレポでは、この 404:

# Replaced fake values (per request) with symbols. Don't feel comfortable sharing her GH info without asking.
RestClient.get("https://api.github.com/repos/:owner/:repo/commits/:sha", accept: 'application/vnd.github.diff')

しかし、これは(受け入れなしで)コミットを返しますが、diff 形式ではありません。

RestClient.get("https://api.github.com/repos/:ownder/:repo/commits/:sha")

複数のコミットを使用して、彼女の他のレポから差分を取得する場合は、

RestClient.get("https://api.github.com/repos/:owner/:repo/commits/:sha", accept: 'application/vnd.github.diff') 

よく働く。私は何か間違ったことをしていますか?これどうしたの?

4

0 に答える 0