]> git.phdru.name Git - git-wiki.git/blobdiff - pep-103.txt
Remove update script
[git-wiki.git] / pep-103.txt
index ab0c601b942d6a570604a22659344f9593a4fd1d..57ba2841df3073409166f467b39f2fb573662915 100644 (file)
@@ -1,29 +1,13 @@
-PEP: 103
-Title: Collecting information about git
-Version: $Revision$
-Last-Modified: $Date$
-Author: Oleg Broytman <phd@phdru.name>
-Status: Draft
-Type: Informational
-Content-Type: text/x-rst
-Created: 01-Jun-2015
-Post-History: 12-Sep-2015
+#format rst
 
 Abstract
 ========
 
-This Informational PEP collects information about git. There is, of
+This page (it was PEP 103) collects information about git. There is, of
 course, a lot of documentation for git, so the PEP concentrates on
 more complex (and more related to Python development) issues,
 scenarios and examples.
 
-The plan is to extend the PEP in the future collecting information
-about equivalence of Mercurial and git scenarios to help migrating
-Python development from Mercurial to git.
-
-The author of the PEP doesn't currently plan to write a Process PEP on
-migration Python development from Mercurial to git.
-
 
 Documentation
 =============
@@ -92,7 +76,7 @@ MacOS X: use git installed with `XCode
 install git with `Homebrew <http://brew.sh/>`_: ``brew install git``.
 
 `git-cola <https://git-cola.github.io/index.html>`_ (`repository
-<https://github.com/git-cola/git-cola>`_) is a Git GUI written in
+<https://github.com/git-cola/git-cola>`__) is a Git GUI written in
 Python and GPL licensed. Linux, Windows, MacOS X.
 
 `TortoiseGit <https://tortoisegit.org/>`_ is a Windows Shell Interface
@@ -440,7 +424,7 @@ Read `how to recover from upstream rebase
 <https://git-scm.com/docs/git-rebase#_recovering_from_upstream_rebase>`_.
 It is in ``git help rebase``.
 
-On the other hand don't be too afraid about commit editing. You can
+On the other hand, don't be too afraid about commit editing. You can
 safely edit, reorder, remove, combine and split commits that haven't
 been pushed yet. You can even push commits to your own (backup) repo,
 edit them later and force-push edited commits to replace what have
@@ -933,6 +917,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 +985,14 @@ 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,
-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
+<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. `RocketGit <https://rocketgit.com/>`_ is AGPL-licensed
+development environment written in PHP (there are plans to rewrite
+critical parts in C).
+
+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,19 +1036,12 @@ developers <https://docs.python.org/devguide/gitdevs.html>`_ that
 documents a few differences between git and hg.
 
 
-Copyright
-=========
-
-This document has been placed in the public domain.
-
+Git and GitHub
+==============
 
-\f
-..
-   Local Variables:
-   mode: indented-text
-   indent-tabs-mode: nil
-   sentence-end-double-space: t
-   fill-column: 70
-   coding: utf-8
-   End:
-   vim: set fenc=us-ascii tw=70 :
+`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.