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