GitBucket 4.20.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.20.0をリリースしました。

https://github.com/takezoe/gitbucket/releases/tag/4.20.0

プルリクエストのマージ時にSquashもしくはRebaseが可能に

プルリクエストをマージする際に以下の3つのオプションからマージ方法を選択できるようになりました。

  • Merge commit: マージコミットを作成してマージします(従来通りのマージ)
  • Squash: コミットは1つにまとめられてベースブランチに追加されます
  • Rebase: マージコミットを作成せずにベースブランチにrebaseします

f:id:takezoe:20171222145441p:plain

クイックプルリクエス

リポジトリにプルリクエスト可能なブランチがある場合、リポジトリビューアの上部にプルリクエストを作成するためのボタンが表示されるようになりました。このボタンを使うとワンクリックでプルリクエエスト作成画面に遷移することができます。

f:id:takezoe:20171222145420p:plain

パッチファイルのダウンロード

差分ビューに表示している差分をパッチファイルとしてダウンロードするためのPatchボタンが追加されました。

f:id:takezoe:20171222145405p:plain

差分が巨大な場合、GitBucketはブラウザ上で差分のグラフィカル表示を行わないようになっていますが、その場合でもこのボタンでダウンロードしたパッチファイルを参照することで差分全体を確認することができます。

リポジトリの作成、フォークが非同期に

これまでのGitBucketでは特に巨大なリポジトリをフォークする際、リクエストのタイムアウトが発生してしまうことがありましたが、これを避けるため、今回のバージョンからリポジトリの作成、フォークを非同期で行うようにしました。

f:id:takezoe:20171222145519p:plain

既存のgitリポジトリからのリポジトリ作成

リポジトリの作成時に既存のgitリポジトリのURLを指定し、そのリポジトリの内容をコピーして作成できるようになりました。すべてのブランチ、タグも新しいリポジトリにコピーされます。

f:id:takezoe:20171222145553p:plain

サイドバーがオーバーフローした場合の表示の改善

リポジトリ名が長い場合、これまではサイドバーからはみ出て表示されてしまっていましたが、省略して表示するようになりました。

f:id:takezoe:20171222145613p:plain

WebフックでCreateEventをサポート

WebフックでCreateEventのサポートが追加れました。

プルリクエストでコンフリクトしたファイルの表示

プルリクエストがコンフリクトして自動マージできない場合、プルリクエストのステータス領域にコンフリクトしたファイルの一覧が表示されるようになりました。

f:id:takezoe:20171222145626p:plain

今回のバージョンではこの他にも様々な改善やバグフィックスを行っています。詳細についてはIssueの一覧をご覧ください。