	Update the current, specified or all topic branches with respect
	to changes in the branches they depend on and remote branches.
	This is performed in two phases - first, changes within the
	dependencies are merged to the base, then the base is merged
	into the topic branch.  The output will guide you on what to do
	next in case of conflicts.

	When '-a' is specifed, updates all topic branches matched by
	<pattern>s (see `git-for-all-refs(1)` for details), or all if
	no <pattern> is given.

	After the update, if a single topic branch was specified, it is
	left as the current one; if '-a' was specified, it returns to
	the branch which was current at the beginning.

	If your dependencies are not up-to-date, `tg update` will first
	recurse into them and update them.

	If a remote branch update brings in dependencies on branches
	that are not yet instantiated locally, you can either bring in
	all the new branches from the remote using `tg remote
	--populate`, or only pick out the missing ones using `tg create
	-r` (`tg summary` will point out branches with incomplete
	dependencies by showing an '!' next to them).

	TODO: tg update -a -c to autoremove (clean) up-to-date branches

