posh-git v0.4

I figure a year between releases is plenty, so I’ve tagged a v0.4 release of posh-git.

Really the notion of versions for a bunch of scripts on which noone depends seems a bit silly…if a feature seems to be missing, get latest from master. If it’s still missing, send me a pull request (or log an issue). But I suppose it’s good to check in periodically to document what we’ve been up to.

New in this release:

  • Git 1.7.2 or better is required
    • And I fixed a bug that prevented it from working with 1.7.10.
  • Prompt status now plays nicely with posh-hg without extra hacks
  • Functions are now provided for using ssh-agent to save credentials
  • Branch in prompt status is now colored according to being ahead of or behind a tracked reference (see readme for an explanation of default colors)
  • Added tab expansion for a bunch of new commands and options (remote refs, revert, tfs, bisect, submodule, and more!)
  • Tab expansion works for aliases of git (I recommend g)

    Contributed by Mark Borcherding

  • The list of commands expanded by default now covers most porcelain commands.
    • You can always get all commands to expand by setting $GitTabSettings.AllCommands = $true
  • Values of $LASTERRORCODE for the last real command are preserved through the prompt
  • If prompt performance for a repository is not acceptable, that repo’s path can be added to $GitPromptSettings.RepositoriesInWhichToDisableFileStatus

    Contributed by Eric Lee

  • posh-git should work in the Nuget Package Manager Console, though you’ll probably want to change the colors
  • The GIT_DIR environment variable is used if defined

    Contributed by Daniel Dabrowski

Several others have contributed bug fixes as well—thanks everyone! It’s pretty awesome to work on something that someone else cares enough about to help improve.

If all goes according to plan, the next time you hear from me (about posh-git) will be to announce that migration to LibGit2Sharp is complete. I’m optimistic that the move will address the persistent performance concerns for large repositories. If you have a particularly troublesome repo, feel free to try my libgit2 branch and let me know if it’s better (or worse).

posh-git on Herding Code