大規模なソフトウェアリポジトリのI2P経由でのクローンは難しい場合があります。 またgitの使用によってそれがさらに困難になることもあります。 ありがたいことに、しばしばそれは容易になります。 Git には gitリポジトリを1ファイルにまとめる git bundle コマンドがあり、 それによりgitのクローン、フェッチ、インポートがあなたのローカルディスクから可能になります。 この機能とBitTorrentのダウンロードを組み合わせることで、件の git clone に伴う問題を解決できます。
始める前に
git bundle を生成するつもりなら、 mtnレポジトリではなく、git レポジトリのフルコピーを持ってい**なければなりません**。 それは github か git.idk.i2p から入手可能ですが、シャロークローン(–depth=1 までのクローン)では*動きません*。それはバンドルっぽいものを作成しつつ静かに落ちて、いざクローンしようとしたときに失敗します。 単に事前生成のgitバンドルを受け取っているだけであれば、この章は気にしなくて構いません。
I2PソースをBitTorrent経由で取得
Someone will need to supply you with a torrent file or a magnet link corresponding to an existing git bundle that they have already generated for you. A recent, correctly-generated bundle of the mainline i2p.i2p source code as-of Wednesday, March 18, 2020, can be found inside of I2P at my pastebin paste.idk.i2p/f/4hq37i. You can also use a magnet link, and if you're a BiglyBT user who wants to bridge the torrent, use this magnet link instead to announce to clearnet trackers as well.
バンドルが手に入ったら、gitを使ってそれをもとに作業レポジトリを作成しましょう。 GNU/Linux と i2psnarkを使用している場合、 その git bundle は $HOME/.i2p/i2psnark か Debianのサービスとしての /var/lib/i2p/i2p-config/i2psnark にあるはずです。 GNU/Linux で BiglyBT を使用している場合は、おそらく「$HOME/BiglyBT Downloads/」にあります。 この例では GNU/Linux 上の I2PSnark を想定していますが、 他のものを使っている場合は、バンドルへのパスをあなたのクライアントとプラットフォームに合ったダウンロードディレクトリに置き換えてください。
git clone の使用
gitバンドルからのクローンは簡単です。単に:
git clone $HOME/.i2p/i2psnark/i2p.i2p.bundle
次のエラーが出たら、git init と git fetch を手動で試してください。
fatal: multiple updates for ref 'refs/remotes/origin/master' not allowed
git init と git fetch の使用
まず gitレポジトリとするためのi2p.i2pディレクトリを作成します。
mkdir i2p.i2p && cd i2p.i2p
次に、更新取得にむけて空のgitレポジトリを初期化します。
git init
最後に、バンドルからレポジトリを取得します。
git fetch $HOME/.i2p/i2psnark/i2p.i2p.bundle
バンドルリモートを上流リモートで置き換える
バンドルを持っている今、リモートを上流レポジトリソースに設定することで更新に追従できます。
git remote set-url origin git@127.0.0.1:i2p-hackers/i2p.i2p
バンドルの生成
まず、Gitユーザーガイド に従って、i2p.i2pレポジトリのクローンの --unshallow``クローンを無事に取得してください。 クローンが手に入ったら、Torrentバンドル生成前に ``git fetch --unshallow を走らせるのを忘れずに。
取得できたら、対応するant targetを走らせるだけです:
ant bundle
そうして出来たバンドルをI2PSnarkのダウンロードディレクトリにコピーしてください。 例えば:
cp i2p.i2p.bundle* $HOME/.i2p/i2psnark/
数分でI2PSnarkがそのトレントを拾います。 「開始」ボタンをクリックし、torrentのシードを始めてください。