Don't return a success status for pushes that end up not changing the remote
Don't access store._hgheads directly from git-remote-hg
Add a method for heads bookkeeping and use it
Remote store._changeset_metadata
Move GitHgStore initializers around
Change how heads are handled in GitHgStore
Wrap the done feature in fast-import
Only close fast-import when it was initialized
Initialize git2hg branch from its parent when not cloning
Add a Git.resolve_ref method
Remove store._hg2git_tree and just use the ref for ls-tree
Don't commit to hg2git and git2hg branches if there is nothing new to add there
Remove hgdebug restore command
Always close GitHgStore
Use fast-import's reset command for Git.update_ref when there is a fast-import attached
Register fast_import from GitHgStore.init_fast_import
Always close GitHgStore
Use Git.update_ref/delete_ref in GitHgStore.close
Use branchmap and add mercurial branch names to remote-hg refs
Propagate mercurial branch name to children when creating metadata for git commits