Thursday, December 24, 2020

git-ssh version 3

git-ssh has seen a major version refresh with version 3.0.0

Version 3 drops the python language as well as support for config file version 1 and instead moves to POSIX shell script with support for only config version 2.

For anyone using git-ssh 2 this change means very little as it is still config compatible, but for users using v1 you would honestly be better off just starting from scratch, it's quick I promise.

Some major behavior changes in this version though.

Gone are any of the --long-option flags, operation is strictly through commands now.

Use git-ssh create and pass it a name and an ssh keyfile path to create a config. Similarly use git-ssh delete and give it a name to remove configs. Use git-ssh list to show all your possible configs.

git-ssh in version 1 and 2 operated as a git subtool, meaning you woul call it along with other arguments to git itself. In version 3 it fills a role more like an outside manager, it's default and only mode of operation is now the equivalent of version 2 --ssh-alias mode

Calling git-ssh export with a config name will export a special environment variable that git will read when handling ssh commands. You can eval the result of this export command to set up your keyed environment. You can then call git as normal, so stuff like shell completion and git performance will remain as normal.

The choice was made to move away from python for performance reasons. Python took a couple hundred milliseconds to start up, which would slow down basically all git operations when git-ssh was used. Moving to shell script allows faster startup performance, and since the requirement to support old configs is gone, the tool is greatly simplified as well.

Find the new git-ssh here

Stay tuned!

========================
Follow pyamsoft around the Web for updates and announcements about the newest applications!
Like what I do?

Send me an email at: pyam.soft@gmail.com
Or find me online at: https://pyamsoft.blogspot.com

Follow my Facebook Page
Check out my code on GitHub 
=========================