Skip to content
TopGit-0.3

After awfully long delay, here comes v0.3 of TopGit - we hopefully start
to approach some kind of practical usability by now.

Aside of few minor changes, the major point of this release is remotes
handling; you can elevate any remote to a TopGit-tracked status using
'tg remote', then git fetch / push will haul around the TopGit bases
as well, and 'tg update' can update your local branches based on
the remote ones. Each repository has one "default" TopGit remote and
the local branches are supposed to reflect this one; that is the remote
'tg update' and all the other commands consider by default. Normally,
this remote is the last one you called 'tg remote --populate' on, but
you can change it in .git/config or switch it for a particular tg call
using the 'tg -r REMOTE command' parameter.

The other major improvement is new 'tg import' command by Aneesh Kumar
that lets you transform a series of commits to a topic branch sequence.
I decided not to consider the 'tg depend' work by Jan Nieuwenhuiz for this
release yet, since it will probably take me a bit of time yet to fully
understand his approach; so far, I have an uneasy feel about it.

Note that this release, as usual, received only very light testing - please
come back with any bugs you find. If someone would feel like adding at least
a simple testsuite, that would be really nice.

Aneesh Kumar K.V (1):
      topgit: Implement tg-import

Bert Wesarg (1):
      Makefile: Use $(wildcard) for commands_in

David Brown (1):
      Force adding the .topmsg and .topdep files.

Jan Nieuwenhuizen (1):
      TOPGIT: [PATCH] Use standard prefix and DESTDIR rather than explain

Jonathan Nieder (2):
      supply template argument to mktemp
      tg-info: fix sed typo

Petr Baudis (35):
      tg-export: Ensure we don't overwrite a branch by git update-ref
      tg create: Set up refs/top-bases/ after conflict resolution
      README: Sketch of my current ideas on remotes handling
      tg summary: Fix confusing variable name
      tg remote: New command
      tg-update.sh: Better explain base update
      Factor out rev-parse --verify calls to new ref_exists() function
      tg.sh: Set $base_remote to topgit.remote config value
      recurse_deps+branch_needs_update(): Deal with remote branches
      tg update: Support updating from remote branches
      has_remote(): Introduce to check if branch has remote counterpart
      tg info: Show information about remote branches
      tg info: Asterisk-prefix 'out-of-band' warnings
      tg summary: Show info about remote mates
      tg summary: 'L' denotes that push will update remote mate
      tg info: Note if local head is ahead of remote mate
      tg summary: Mark current branch with '>'
      tg -r REMOTE: Support for switching base remote
      tg summary: Fix spurious errors on tg-inconsistent remotes
      Fix recursive tg calls: Pass tg parameters through properly
      Account for direct-tg arguments in Usage strings
      tg import: Better description
      tg import: Standard script header
      tg import: Standard options parsing
      tg import: Remove tg_ prefixes from functions
      tg import: Change default prefix from tp/ to t/
      README: Add synopsis for working with remotes
      tg create -r BRANCH: Create branch based on a remote one
      tg import -p PREFIX: Custom prefix instead of t/
      tg import: Fix up process_commit() progress reporting
      branch_contains(): More explicit call to git rev-list
      tg import: Make the progress reporting stand out more
      Merge branch 'tg-import'
      README: Remove stale TODO
      TopGit-0.3

martin f. krafft (2):
      Add tg-export to gitignore
      Add various todos/wishlists