[go: up one dir, main page]

Skip to content
The Great Modularization

This substantial rewrite splits each git-teleport subcommand into
its own executable. It also splits the single-page documentation
file into a multi-page website with mdbook.

We now require git>=1.8.3.

ENHANCEMENTS

* CLI-BREAKING: Removed `teleportw` wrapper script

* CLI-BREAKING: Drop the "commit" command. This operation is now
  performed automatically with each "bundle"

* CLI-BREAKING: Deprecated `git teleport update` alias removed

* CLI-BREAKING: The entire `refs/` namespace is
  **no longer mirrored**. Instead, only the following refs are
  mirrored:

  - `refs/heads/*`
  - `refs/tags/*`
  - `refs/notes/*`
  - the `GTELEPORT_MIRROR_REFS` environment variable

  This is necessary to fix Gitlab→Gitlab transfers.
  See issue #3.

* CLI: Permit `bootstrap`ing into an existing repository. A
  subdirectory is created instead.

* CLI: `pack` now supports `--full`, `--no-save`, and
  `--offline`. The `--full` command is the preferred way to
  generate full-history bundles. The `--no-save` command can
  be used to generate differential bundles.

* CLI: Add `setup` command for automatically adding git-teleport
  to the `$PATH`.

* Status text is now printed to stderr exclusively. stdout is
  reserve for `--porcelain` integration with other scripts.

* Quality-of-life improvements for developers, including a
  Makefile-based task system and better CI jobs.

FIXES

* Discontinue direct fetches during `unpack`. All repositories
  are now updated via a local cache and a `push` instead of a
  `fetch`. Direct-fetching is somewhat dangerous and does not
  work if `safe.directory` restrictions are in force.

* The `latest/` symlink is now `-r` relative.

* Reduce use of external commands. This improves speed

* Substantially revised error messages

* Replace obsolete shebang syntax