]> git.phdru.name Git - git-wiki.git/blobdiff - pep-103.txt
Add section "SSH connection sharing"
[git-wiki.git] / pep-103.txt
index 1386e9ff6f3a102e5f472b41f8730301f4d02f1a..993ad2dc9e5476b3bcb650c268dd34fcb7bd0969 100644 (file)
@@ -933,6 +933,38 @@ Read the detailed instructions in the file.
 Search the Net for "git prompt" to find other prompt variants.
 
 
+SSH connection sharing
+----------------------
+
+SSH connection sharing is a feature of OpenSSH and perhaps derivatives
+like PuTTY. SSH connection sharing is a way to decrease ssh client
+startup time by establishing one connection and reusing it for all
+subsequent clients connecting to the same server. SSH connection
+sharing can be used to speedup a lot of short ssh sessions like scp,
+sftp, rsync and of course git over ssh. If you regularly
+fetch/pull/push from/to remote repositories accessible over ssh then
+using ssh connection sharing is recommended.
+
+To turn on ssh connection sharing add something like this to your
+~/.ssh/config::
+
+    Host *
+    ControlMaster auto
+    ControlPath ~/.ssh/mux-%r@%h:%p
+    ControlPersist 600
+
+See `OpenSSH wikibook
+<https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Multiplexing>`_ and
+`search <https://www.google.com/search?q=ssh+connection+sharing>`_ for
+more information.
+
+SSH connection sharing can be used at GitHub, GitLab and SourceForge
+repositories, but please be advised that BitBucket doesn't allow it
+and forcibly closes master connection after a short inactivity period
+so you will see errors like this from ssh: "Connection to bitbucket.org
+closed by remote host."
+
+
 git on server
 =============
 
@@ -969,12 +1001,12 @@ and communication. Among these environments are `Kallithea
 <https://kallithea-scm.org/>`_ and `pagure <https://pagure.io/>`_,
 both are written in Python; pagure was written by Fedora developers
 and is being used to develop some Fedora projects. `GitPrep
-<http://gitprep.yukikimoto.com/>`_ is yet another Github clone,
+<http://gitprep.yukikimoto.com/>`_ is yet another GitHub clone,
 written in Perl. `Gogs <https://gogs.io/>`_ is written in Go.
 `GitBucket <https://gitbucket.github.io/gitbucket-news/about/>`_ is
 written in Scala.
 
-And last but not least, `Gitlab <https://about.gitlab.com/>`_. It's
+And last but not least, `GitLab <https://about.gitlab.com/>`_. It's
 perhaps the most advanced web-based development environment for git.
 Written in Ruby, community edition is free and open source (MIT
 license).
@@ -1018,6 +1050,17 @@ developers <https://docs.python.org/devguide/gitdevs.html>`_ that
 documents a few differences between git and hg.
 
 
+Git and GitHub
+==============
+
+`gitsome <https://github.com/donnemartin/gitsome>`_ - Git/GitHub
+command line interface (CLI). Written in Python, work on MacOS, Unix,
+Windows. Git/GitHub CLI with autocomplete, includes many GitHub
+integrated commands that work with all shells, builtin xonsh with
+Python REPL to run Python commands alongside shell commands, command
+history, customizable highlighting, thoroughly documented.
+
+
 Copyright
 =========