SYNOPSIS
git index-pack [-v] [-o <index-file>] [--[no-]rev-index] <pack-file> git index-pack --stdin [--fix-thin] [--keep] [-v] [-o <index-file>] [--[no-]rev-index] [<pack-file>]
DESCRIPTION
指定されたファイルからパックされたアーカイブ(.pack)を読み取り、そのためのパックインデックスファイル(.idx)を作成します。オプションで、指定されたパックの逆インデックス(reverse-index)(.rev)を書き込みます。パックされたアーカイブは、パックインデックスとともに、Gitリポジトリの objects/pack/ ディレクトリに配置できます。
OPTIONS
-
-v
-
進捗状況など、何が起こっているかについて詳しく説明します。
-
-o <index-file>
-
生成されたパックインデックスを指定のファイルに書き込みます。このオプションがない場合、パックインデックスファイルの名前は、 .pack を .idx に置き換えることにより、パックされたアーカイブファイルの名前から作成されます(パックされたアーカイブの名前が .pack で終わらない場合、プログラムは失敗します)。
-
--[no-]rev-index
-
このフラグが指定されている場合、指定されたパックに対応する逆インデックス(reverse index)(
.rev
ファイル)を生成します。--verify
が指定されている場合は、既存の逆インデックスが正しいことを確認し保証(ensure)します。pack.writeReverseIndex
よりも優先されます。 -
--stdin
-
このフラグが指定されると、コマンドラインの代わりにパックがstdinから読み取られ、コピーが <pack-file> に書き込まれます。 <pack-file> が指定されていない場合、パックは現在のGitリポジトリの objects/pack/ ディレクトリに書き込まれ、デフォルト名はパックの内容から決定されます。 <pack-file> が指定されていない場合は、
--keep
を使用して、このプロセスとgit repack
の間の競合状態を防ぐことを検討してください。 -
--fix-thin
-
デルタ化オブジェクトが基づいている除外されたオブジェクトをパックに追加することにより、
git pack-objects --thin
によって生成された「薄い」パックを修正します(詳細は git-pack-objects(1) を参照)。 このオプションは、--stdin
と組み合わせた場合にのみ意味があります。 -
--keep
-
インデックスを最終的な宛先に移動する前に、関連するパックファイル用に空の .keep ファイルを作成します。このオプションは通常、
--stdin
と一緒に指定する必要があります。これは、パックに含まれるオブジェクトを使用するようにrefを更新する前に、git repack
プロセスが新しく構築されたパックとインデックスを同時に削除しないようにするためです。 -
--keep=<msg>
-
--keep
のように、インデックスを最終的な宛先に移動する前に .keep ファイルを作成しますが、空のファイルを作成するのではなく、 .keep ファイル内で <msg> の後にLFを配置します。 後ですべての .keep ファイル内で <msg> メッセージを検索して、使い古されたものを見つけることができます。 -
--index-version=<version>[,<offset>]
-
これは、テストスイートでのみ使用することを目的としています。 生成されたパックインデックスのバージョンを強制し、指定されたオフセットにあるオブジェクトに64ビットインデックスエントリを強制することができます。
-
--strict
-
パックに壊れたオブジェクトやリンクが含まれている場合は、終了します(die)。
-
--progress-title
-
内部使用のみ。
プログレスバーのタイトルを設定します。 タイトルはデフォルトで「Receiving objects」(オブジェクトの受信)であり、
--stdin
が指定されている場合は「Indexing objects」(オブジェクトのインデックス作成)です。 -
--check-self-contained-and-connected
-
パックに壊れたリンクが含まれている場合は終了(die)します。内部使用のみ。
-
--fsck-objects
-
内部使用のみ。
パックに壊れたオブジェクトが含まれている場合は終了(die)します。 存在しない .gitmodulesblob を指すツリーがパックに含まれている場合、 pack/idx ファイルの名前に含まれるハッシュの後に、(呼び出し元が確認できるように)そのブロブのハッシュを出力します(「Notes」参照)。
-
--threads=<n>
-
デルタを解決するときに生成するスレッドの数を指定します。これには、インデックスパックを pthreads でコンパイルする必要があります。そうでない場合、このオプションは警告とともに無視されます。これは、マルチプロセッサマシンでのパッキング時間を短縮することを目的としています。ただし、デルタ検索ウィンドウに必要なメモリ量は、スレッド数で乗算されます。0を指定すると、GitはCPUの数を自動検出し、最大3つのスレッドを使用します。
-
--max-input-size=<size>
-
パックが <size> を超える場合は、終了(die)します。
-
--object-format=<hash-algorithm>
-
パックに指定するオブジェクト形式(ハッシュアルゴリズム)を指定します。有効な値は
sha1
とsha256
(有効な場合) です。デフォルトは、(extensions.objectFormat
で設定する、)現在のリポジトリのアルゴリズム、または値が設定されていないかリポジトリの外部にある場合はsha1
です。このオプションは
--stdin
オプションと一緒に使用することはできません。このオプションは実験的なものです! SHA-256のサポートは実験的なものであり、まだ初期段階です。 SHA-256リポジトリは、通常、「通常の」SHA-1リポジトリと作業を共有できません。 たとえば、SHA-256リポジトリに関連するGit内部ファイル形式は、下位互換性のない方法で変更される可能性があると想定する必要があります。テスト目的でのみ
--object-format=sha256
を使用してください。 -
--promisor[=<message>]
-
pack-index をコミットする前に、このパックの
.promisor
ファイルを作成します。 パックが完全に書き込まれるまでパックの名前は最終的ではないため、--fix-thin
を使用して プロミサー・パック(promisor pack)を書き込む場合に特に役立ちます。<message>
が指定されている場合、その内容は後で参照できるように.promisor
ファイルに書き込まれます。 詳細については、 partial clone を参照してください。
NOTES
一旦インデックスが作成されると、 pack/idx ファイルの名前に含まれるハッシュがstdoutに出力されます。 --stdin
も使用された場合、これには pack\t
、または新しい .keep
ファイルが正常に作成された場合は keep\t
の、どちらかのプレフィックスが付きます。 これは、 上記 git repack
との競合を防ぐためにロックとして使用されている keep ファイルを削除するのに役立ちます。
GIT
Part of the git(1) suite