Gitがバージョン管理におけるデファクトとも言える存在になっています。それだけにGitコマンドが常に使えるのが当たり前な状況でしょう。しかし、そんな中利用できないリポジトリが存在したとしたらどうでしょう。 Git bombはまさにそんなリポジトリです。クローンできない、そんな厄介なリポジトリになっています。

Git bombの使い方

Git bombのリポジトリをクローンしようとします。

$ git clone git@github.com:Katee/git-bomb.git
Cloning into 'git-bomb'...
remote: Counting objects: 18, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 18 (delta 2), reused 6 (delta 2), pack-reused 12
Receiving objects: 100% (18/18), done.
Resolving deltas: 100% (2/2), done.
Checking connectivity... done.

このまま停止し続けます…。恐らくクローンできないでしょう。

Git bombのタネを明かすと、中身は9階層のディレクトリがあります。d1ディレクトリの中にd1〜d9までのディレクトリがありますので、9の9乗(387,420,489個)のディレクトリがある計算です。これらのディレクトリ構造によって、クローン処理が失敗してしまうようです。普通はこのような構成にすることはないと思いますが、ネタとしては興味深いです。

Git bombはGitHub上にあるプロジェクトです。

Katee/git-bomb: A (nearly) uncloneable repo