2 unstable releases

0.2.0 Aug 10, 2024
0.1.0 Jul 22, 2024

#438 in Development tools

Download history 82/week @ 2024-07-18 25/week @ 2024-07-25 1/week @ 2024-08-01 108/week @ 2024-08-08 10/week @ 2024-08-15

120 downloads per month

MIT/Apache

320KB
8K SLoC

svn2git

GitHub Actions Status MSRV

A Subversion to Git repository converter

Features

  • Uses Subversion dump files as input.
    • Supports version 2 (without deltas) and version 3 (with deltas).
    • It can be optionally compressed with gzip, bzip2, XZ, zstd or LZ4.
  • It does not require to have Git installed in the same machine.
  • Efficient. Given the old GCC Subversion repository (280157 revisions), provided as a version 3 (with deltas) dump compressed with XZ:
    • It takes 50 minutes to finish with an Intel i7-8750H CPU and a SATA SSD.
    • It uses up to 2.2 GiB of RAM and 6.5 GiB of disk during conversion.
    • The resulting Git repository takes 2.8 GiB of disk, without needing to run git repack.

Install

Pre-built binaries

You can download binaries for Linux and Windows from the GitHub releases page.

Dependencies

svn2git does not have runtime dependencies, but you will likely need Subversion (to prepare the origin repository) and Git (to do anything with the result of the conversion).

Build from source

If you have a Rust toolchain installed, you can clone this repository and build a working executable:

cargo build --release

Usage

Check the documentation and tutorial from the book.

License

Licensed under either of

at your option.

Dependencies

~23–34MB
~550K SLoC