Compare commits

...

2 Commits

2 changed files with 57 additions and 2 deletions

View File

@ -30,7 +30,7 @@
<echo message=" installer5, installer5-linux, installer5-nowindows, installer5-windows: use IzPack 5" />
<echo message=" osxLauncher: build the Mac OS X router/GUI launcher (OSX only)" />
<echo message=" bbLauncher: build the Browser Bundle router launcher" />
<echo message=" bundle: (GIT ONLY!) generate a git bundle and a corresponding torrent." />
<echo message=" git-bundle: (GIT ONLY!) generate a git bundle and a corresponding torrent." />
<echo message=" tarball: tar the full install into i2p.tar.bz2 (extracts to build a new clean install)" />
<echo message=" updater: Package the built files in i2pupdate.zip (extracts safely over existing installs)" />
<echo message=" updater200: Updater compressed with pack200 (creates i2pupdate200.zip, 60% smaller)" />
@ -3147,7 +3147,7 @@
<checksum file="portable-win32.zip" forceOverwrite="yes"/>
<move file="portable" tofile="pkg-temp"/>
</target>
<target name="bundle" depends="pkg">
<target name="git-bundle" depends="pkg">
<exec executable="git" failonerror="true">
<arg value="bundle" />
<arg value="create" />

View File

@ -0,0 +1,55 @@
Releasing a git bundle as an I2P Torrent
========================================
Git Bundles are a way of taking all(or part) the data in a Git repository and
bundling it into a single file. The file, once obtained, can be used exactly like
a remote git repository, and of particular use for large repositories of code with
a long history like I2P is the fact that you can use a git bundle to "clone" a copy
of the I2P source after downloading it reliably with Bittorrent, retaining all
properties of the repository that was bundled. This includes things like branches and
release tags.
When generating a git bundle accompanying an official I2P release, the bundle generation
should be done immediately after tagging to ensure that the main branch is even with the
most recent tag.
Torrents of the I2P git repository are generated monthly on the tenth by IDK.
.torrent files and magnet links can be found at
- https://github.com/eyedeekay/i2p.i2p.git.bundles
- https://i2pgit.org/idk/i2p.i2p.git.bundles
- http://git.idk.i2p/idk/i2p.i2p.git.bundles
- http://idk.i2p/bundles/
Git bundles generated from identical repositories will produce the same outputs. If you
want to set up your own git bundle mirror, those scripts will help you set up so that
your bundles are generated in sync with idk's so that we all end up sharing the same
version of the source code.
To create a git bundle of i2p.i2p named i2p.i2p.bundle, run the command:
git bundle \
create i2p.i2p.bundle \
--all \
--branches \
--tags \
In order to create a torrent of i2p.i2p.bundle, you can either use the Snark WebUI, call
run Snark manually from the terminal, or use another torrent-creation tool like mktorrent.
For the sake of convenience, this process can be done automatically with the
ant bundle
target. When the ant bundle target is used, the filename is i2p.i2p.{full.version}.bundle
and the torrent is i2p.i2p.{full.version}.bundle.torrent Once the bundle is generated, it
contains all the contents of the repository it was generated from. For i2p.i2p, this is
about 389mb as of 2020-12-11. It is recommended that most people only seed the latest
version of the git bundle.
References
----------
- [The Git Book: Git Bundles](https://git-scm.com/book/en/v2/Git-Tools-Bundling)
- [The Git Documentation: git-bundle](https://git-scm.com/docs/git-bundle)