SYNOPSIS

scalar clone [--single-branch] [--branch <main-branch>] [--full-clone] <url> [<enlistment>]
scalar list
scalar register [<enlistment>]
scalar unregister [<enlistment>]
scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>]
scalar reconfigure [ --all | <enlistment> ]
scalar diagnose [<enlistment>]
scalar delete <enlistment>

DESCRIPTION

Scalar は、 大規模なリポジトリで使用するために Git を最適化するリポジトリ管理ツールです。 Scalar は、 高度な Git 設定を構成し、 バックグラウンドでリポジトリを保守し、 ネットワーク経由で送信されるデータを削減することで、 パフォーマンスを向上させます。

Scalar の重要な発想が enlistment です。 enlistment はプロジェクトの最上位ディレクトリで、 通常、 Gitワークツリーであるサブディレクトリ src/ を含んでいます。 これにより、 追跡対象のファイル (src/ 内) と、 ビルド生成物 (src/ の外部) などの追跡対象外のファイルとの分離が促進されます。 名前が src ではない既存の Git ワークツリーを Scalar に登録(register)すると、 enlistment はワークツリーと同等になります。

scalar コマンドは、さまざまなサブコマンドと、 サブコマンドに応じたさまざまなオプションを実装します。 clonelistreconfigure --all を除いて、 すべてのサブコマンドは enlistment の下で実行されることを想定しています。

以下のオプションはサブコマンドの「前で」指定可能です:

-C <directory>

サブコマンドを実行する前に、 作業ディレクトリ(working directory)を変更してください。 このオプションは、 git(1) の同じオプションを模倣します。

-c <key>=<value>

指定したサブコマンドを実行している間、 この設定を構成(configure)します。 このオプションは、 git(1) の同じオプションを模倣します。

COMMANDS

Clone

clone [<options>] <url> [<enlistment>]

git-clone(1) と同様に、 指定のリポジトリのクローンを作成します。 デフォルトでは、 コミットおよびツリー・オブジェクトのみがクローンされます。 完了すると、 ワークツリーは <enlistment>/src に配置されます。

(--full-clone で実行した場合を除き、)スパース・チェックアウト機能が有効になり、存在するファイルは最上位ディレクトリにあるファイルのみです。 git sparse-checkout set を使用してあなたが表示したいディレクトリのセットを展開するか、 または git sparse-checkout disable を使用してすべてのファイルを展開します(詳細については、 git-sparse-checkout(1) を参照してください)。 git ls-tree HEAD[:<directory>] を使用して、 あなたのスパースチェックアウトの外側のサブディレクトリを調べることができます。

-b <name>
--branch <name>

クローンされたリポジトリの HEAD が指すブランチをチェックアウトする代わりに、 <name> ブランチをチェックアウトします。

--[no-]single-branch

--branch オプションで指定されるか、 プライマリ・ブランチ・リモートの HEAD が指す、 単一のブランチの先端につながる履歴のみをクローンします。

結果のリポジトリへの更なるフェッチは、 最初のクローン作成時に、このオプションが使われたブランチのリモート追跡ブランチのみが更新されます。 --single-branch クローンが作成されたときに、 リモートの HEAD がどのブランチも指していなかった場合、 リモート追跡ブランチは作成されません。

--[no-]full-clone

デフォルトでスパース・チェックアウトは初期化(initialized)されます。 この動作は、 --full-clone でオフにすることができます。

List

list

Scalar によって現在登録(register)されている enlistment を一覧表示します。 このサブコマンドは、 enlistment 内で実行する必要はありません。

Register

register [<enlistment>]

enlistment のリポジトリを登録済みリポジトリ(registered repositories)のリストに追加し、 バックグラウンド・メンテナンスを開始します。 <enlistment> が指定されていない場合、 現在の作業ディレクトリに関連付けられた enlistment が登録(registere)されます。

注意: このサブコマンドが src/ と呼ばれるワークツリーで呼び出されると、 その親ディレクトリは Scalar enlistment と見なされます。 ワークツリーが src/ と呼ばれ「無い」場合、それ自体が Scalar enlistment であると見なされます。

Unregister

unregister [<enlistment>]

Scalar に登録(register)されているリポジトリのリストから指定されたリポジトリを削除し、 スケジュールされたバックグラウンド・メンテナンスを停止します。

Run

scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>]

指定されたメンテナンス・タスク (all が指定されている場合はすべてのタスク) を実行します。 このサブコマンドは allconfig を除いて、 単純に git-maintenance(1) に渡します (fetchprefetch に、 pack-filesincremental-repack にマッピングします)。

これらのタスクは、リポジトリが Scalar に登録されるとすぐに、スケジュールされたメンテナンスの一部として自動的に実行されます。 したがって、このサブコマンドを手動で実行する必要はありません。

config タスクは Scalar 固有であり、 Git が大規模なリポジトリでより効率的に動作するように、 独自のデフォルト設定のすべてを構成します。 このタスクは scalar clone の一部として自動的に実行されるため、 このタスクを明示的に呼び出す必要はほとんどありません。

Reconfigure

Scalar のアップグレード後、または Scalar enlistment の構成が何らかの形で破損または誤って変更された場合、 このサブコマンドを使用して enlistment を再構成できます。

--all オプションを使用すると、 現在 Scalar に登録されているすべての enlistment が再構成されます。 Scalar アップグレード後毎にこのオプションを使用します。

Diagnose

diagnose [<enlistment>]

Scalar に関する問題を報告する場合、 現在の enlistment のデータ形状を説明するログや特定の統計など、 このコマンドによって収集された情報を提供すると役立つことがよくあります。

このコマンドの出力は、 src ディレクトリのワークツリーに隣接するディレクトリに書き込まれる .zip ファイルです。

Delete

delete <enlistment>

このサブコマンドを使用すると、 ローカル・ファイル・システムから既存の Scalar enlistment を削除して、 リポジトリを登録解除(unregister)できます。

SEE ALSO

GIT

Part of the git(1) suite