Klonování velkých softwarových repozitářů přes I2P může být obtížné a používání Gitu to může někdy ještě ztížit. Naštěstí to může Git někdy i usnadnit. Git má příkaz git bundle, který lze použít k převodu repozitáře Git na soubor; z umístění na vašem místním disku pak z něj může Git klonovat, načítat nebo importovat. Spojením této možnosti se stahováním přes BitTorrent můžeme vyřešit zbývající problémy s git clone.
Než začnete
Pokud máte v úmyslu vytvořit git bundle, musíte již mít úplnou kopii repozitáře git, nikoli repozitáře mtn. Můžete jej získat z githubu nebo z git.idk.i2p, ale mělký klon (klon provedený s –depth=1) nebude fungovat. Selže tiše, vytvoří něco, co vypadá jako bundle, ale když se jej pokusíte klonovat, selže. Pokud pouze získáváte předem vytvořený git bundle, pak se na vás tato část nevztahuje.
Stažení zdrojových kódů I2P přes BitTorrent
Někdo vám bude muset poskytnout soubor .torrent nebo magnet odkaz odpovídající existujícímu git bundle (balíček), který pro vás již byl vytvořen. Jakmile budete mít bundle z BitTorrentu, budete muset použít git k vytvoření pracovního repozitáře z něj.
Použití git clone
Klonování z git bundle je snadné, stačí:
git clone $HOME/.i2p/i2psnark/i2p.i2p.bundle
If you get the following error, try using git init and git fetch manually instead:
fatal: multiple updates for ref 'refs/remotes/origin/master' not allowed
Použití git init a git fetch
Nejprve vytvořte adresář i2p.i2p, který převedete na repozitář Git:
mkdir i2p.i2p && cd i2p.i2p
Dále inicializujte prázdný repozitář Git, do kterého budete načítat změny:
git init
Nakonec načtěte repozitář z balíčku:
git fetch $HOME/.i2p/i2psnark/i2p.i2p.bundle
Nahraďte vzdálený repozitář bundle vzdáleným repozitářem upstream.
Nyní, když máte balíček, můžete držet krok se změnami tak, že nastavíte vzdálený repozitář na upstream (původní) zdroj repozitáře:
git remote set-url origin git@127.0.0.1:i2p-hackers/i2p.i2p
Vytvoření balíčku
Nejprve postupujte podle průvodce Git pro uživatele, dokud nebudete mít klon repozitáře i2p.i2p úspěšně rozšířený pomocí --unshallow. Pokud už klon máte, ujistěte se, že před vytvořením torrentového balíčku spustíte git fetch --unshallow.
Jakmile to budete mít, jednoduše spusťte odpovídající cíl Antu:
ant bundle
a zkopírujte výsledný balíček do vašeho adresáře pro stahování I2PSnarku. Například:
cp i2p.i2p.bundle* $HOME/.i2p/i2psnark/
Za minutu nebo dvě I2PSnark torrent zaregistruje. Klikněte na tlačítko “Start” a zahajte seedování torrentu.