HN 日本語サマリー

← 一覧へ戻る
オープンソース

Google Copybara: リポジトリ間でコードを移動するツール

Google copybara: moving code between repositories (github.com)

261 pointsby reconnecting49 コメント

要約

Copybaraは、Google社内で使用されている、リポジトリ間でコードを変形・移動させるためのツールです。機密リポジトリと公開リポジトリの同期など、複数のリポジトリ間でコードを管理する必要がある場合に特に有用です。現在、Gitリポジトリのみをサポートしていますが、拡張可能なアーキテクチャにより、将来的に他のリポジトリタイプもサポートする予定です。

全文翻訳

Copybaraは、リポジトリ間でコードを変形・移動させるためのツールです。CopybaraはGoogle社内で使用されています。ソースコードが複数のリポジトリに存在する必要がある場合が多く、Copybaraはこれらのリポジトリ間でソースコードを変形・移動させることができます。一般的なケースとしては、機密リポジトリと公開リポジトリを同期させて維持するプロジェクトが挙げられます。Copybaraでは、常に一つの信頼できる情報源が存在するように、いずれかのリポジトリを権威あるリポジトリとして選択する必要があります。しかし、このツールはどのリポジトリへの貢献も可能であり、どのリポジトリもリリースを作成するために使用できます。 最も一般的な使用例は、あるリポジトリから別のリポジトリへコードを繰り返し移動させることです。Copybaraは、コードを新しいリポジトリへ一度だけ移動させるためにも使用できます。 Copybaraの使用例には以下が含まれます: - 機密リポジトリから公開リポジトリへコードの一部をインポートする。 - 公開リポジトリから機密リポジトリへコードをインポートする。 - 非権威リポジトリからの変更を権威リポジトリへインポートする。非権威リポジトリ(例えば、公開リポジトリの貢献者)で変更が行われた場合、Copybaraはその変更を権威リポジトリ内の適切な場所へ変形・移動させます。マージの競合は、権威リポジトリ内の古い変更と同じ方法で処理されます。 Copybaraの主要な機能の一つは、ステートレスであること、より具体的には、状態をデスティネーションリポジトリ(コミットメッセージ内のラベルとして)に保存することです。これにより、複数のユーザー(またはサービス)が同じ設定/リポジトリでCopybaraを使用し、同じ結果を得ることができます。 現在、サポートされているリポジトリタイプはGitのみです。CopybaraはMercurialリポジトリからの読み込みも可能ですが、この機能はまだ実験的です。拡張可能なアーキテクチャにより、ほぼすべてのユースケースに対応する特注のオリジンとデスティネーションを追加できます。他のリポジトリタイプに対する公式サポートは将来追加される予定です。 Example ``` core.workflow( name =