新しいBit Bucket形式で古いコミットのソースにアクセスする方法に関するドキュメントを見つけられない、または見つけることができません。これはもう可能ですか?
新しいBit Bucket形式で古いコミットのソースにアクセスする方法に関するドキュメントを見つけられない、または見つけることができません。これはもう可能ですか?
回答:
Mercurial / Gitクライアントを使用せずに、BitBucket Webインターフェイスを介して古いバージョンをダウンロードすることを希望しています。
この関連質問を確認してください。コメントに関して、誰かがそれを行う方法はないと言っています。幸いにも、それは完全に真実ではありません。
BitBucketプロジェクトページをナビゲートしたところ、任意のバージョンをダウンロードするためのリンクが見つかりませんでした。次の形式で、特定のタグをダウンロードするためのリンクがあります。
https://bitbucket.org/owner/repository/get/v0.1.2.tar.gz
しかし、上のURLを少し調整して、次のようにタグ名をcommitハッシュで変更します。
https://bitbucket.org/owner/repository/get/A0B1C2D.tar.gz
実際に特定のバージョンをダウンロードできます。
Rakka Rageがコメントで述べたように.tar.gz
、.zip
作品でも置き換えます。
api.bitbucket.org
今でなければなりません
bitbucket.org
以前のコミットのコードをGitHubでできるように閲覧できるかどうかを考えていたところ、ここにたどり着きました。私はここで見つけた情報を使用し、URLをいじった後、実際に古いコミットのコードを閲覧する方法も見つけました。
コードを参照しているとき、URLは次のようになります。
https://bitbucket.org/user/repo/src/
そして、このように最後にコミットハッシュを追加することにより:
https://bitbucket.org/user/repo/src/a0328cb
コミットした時点でコードを閲覧できます。直接コミットを選択するためのドロップダウンボックスがない理由がわかりません。この機能はすでに存在しています。奇妙な。
https://bitbucket.org/lyro/evil/src/8cbfd51
が、と入力するとhg clone https://bitbucket.org/lyro/evil/src/8cbfd51
、ランダムなリビジョン、おそらく最新のものを取得します。
hg clone -r8cbfd51 https://bitbucket.org/lyro/evil/src/
https://bitbucket.org/user/project/commits/0000000000000000000000000000000000000000?at=master
。さて、commits
URLをに変更するsrc
と、このコミットで完全なソースを閲覧できます!
誰かが私のボートに乗っていて、これらの答えのどれも正確に機能しない場合に備えて、ここで私がやったことを説明します。
おそらく、社内のBitbucketサーバーのセットアップは他のサーバーとは少し異なりますが、masterブランチのファイルを表示するためだけに通常アクセスするURLを次に示します。
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse
ドロップダウンメニューからマスター以外のブランチを選択すると、次のようになります。
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=refs%2Fheads%2F<BRANCH_NAME>
だから私はこれを試してみましたがうまくいきました:
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=<COMMIT_ID>
これで、コミット時のリポジトリ全体を閲覧できます。
数年前からの素晴らしい答え。現在、Bitbucketはそれをより簡単にしました。
ダウンロードするコミットにタグを付けます(Rudy Matelaの回答で述べたとおり)。
次に[ダウンロード]に移動して[タグ]タブをクリックすると、ダウンロード用の複数のオプションが表示されます。
最も簡単な方法は、そのコミットをクリックして、そのコミットにタグを追加することです。 このコミットにタグ「last_commit」を含めました
ビットバケットのサイドナビゲーションの左隅にあるダウンロードに移動するよりも。 左側のダウンロードをクリックします
手遅れだと知っていますが、API 2.0を使用すると、
コマンドラインから:
curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>
またはphpで:
$data = json_decode(file_get_contents("https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>", true));
次に、ファイルの履歴があります(最新のコミットから最も古いコミットまで)。
{
"pagelen": 50,
"values": [
{
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<hash>/<path_file>"
},
"meta": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD>/<path_file>?format=meta"
},
"history": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<HEAD>/<path_file>"
}
},
"commit": {
"hash": "<HEAD>",
"type": "commit",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/commit/<HEAD>"
},
"html": {
"href": "https://bitbucket.org/<user>/<repo>/commits/<HEAD>"
}
}
},
"attributes": [],
"path": "<path_file>",
"type": "commit_file",
"size": 31
},
{
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD~1>/<path_file>"
},
"meta": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD~1>/<path_file>?format=meta"
},
"history": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<HEAD~1>/<path_file>"
}
},
"commit": {
"hash": "<HEAD~1>",
"type": "commit",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/commit/<HEAD~1>"
},
"html": {
"href": "https://bitbucket.org/<user>/<repo>/commits/<HEAD~1>"
}
}
},
"attributes": [],
"path": "<path_file>",
"type": "commit_file",
"size": 20
}
],
"page": 1
}
どこvalues
> links
>は、self
あなたがそれを取得することができます歴史の中で、現時点ではファイルを提供していcurl <link>
たりfile_get_contents(<link>)
。
最終的に、コマンドラインから次のようにフィルタリングできます。
curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>?fields=values.links.self
PHPではforeach
、配列にループを作成するだけ$data
です。
注:がある場合<path_file>
は、で/
変換する必要があります%2F
。
こちらのドキュメントをご覧ください:https : //developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/filehistory/%7Bnode%7D/%7Bpath%7D