1
0
mirror of https://github.com/git/git.git synced 2024-10-21 16:18:11 +02:00
git/contrib
Richard Hansen bd5424f0d6 remote-bzr: reuse bzrlib transports when possible
Pass a list of open bzrlib.transport.Transport objects to each bzrlib
function that might create a transport.  This enables bzrlib to reuse
existing transports when possible, avoiding multiple concurrent
connections to the same remote server.

If the remote server is accessed via ssh, this fixes a couple of
problems:
  * If the user does not have keys loaded into an ssh agent, the user
    may be prompted for a password multiple times.
  * If the user is using OpenSSH and the ControlMaster setting is set
    to auto, git-remote-bzr might hang.  This is because bzrlib closes
    the multiple ssh sessions in an undefined order and might try to
    close the master ssh session before the other sessions.  The
    master ssh process will not exit until the other sessions have
    exited, causing a deadlock.  (The ssh sessions are closed in an
    undefined order because bzrlib relies on the Python garbage
    collector to trigger ssh session termination.)

Signed-off-by: Richard Hansen <rhansen@bbn.com>
Acked-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-09-08 11:15:33 -07:00
..
buildsystems
ciabot many small typofixes 2013-07-29 12:32:25 -07:00
completion contrib/git-prompt.sh: handle missing 'printf -v' more gracefully 2013-08-22 09:50:16 -07:00
contacts contrib: contacts: add documentation 2013-07-21 15:15:20 -07:00
convert-objects
credential credential-osxkeychain: support more protocols 2013-05-28 11:29:47 -07:00
diff-highlight
diffall
emacs
examples core-tutorial: trim the section on Inspecting Changes 2013-08-13 09:01:52 -07:00
fast-import
git-jump
git-shell-commands
gitview
hg-to-git hg-to-git: --allow-empty-message in git commit 2013-07-23 12:17:23 -07:00
hooks post-receive-email: deprecate script in favor of git-multimail 2013-07-22 21:20:28 -07:00
mw-to-git git-remote-mediawiki: ignore generated git-mw 2013-08-13 09:52:22 -07:00
p4import
persistent-https
remote-helpers remote-bzr: reuse bzrlib transports when possible 2013-09-08 11:15:33 -07:00
stats
subtree Merge branch 'ob/typofixes' 2013-08-01 12:01:01 -07:00
svn-fe
thunderbird-patch-inline
vim
workdir
git-resurrect.sh
README
remotes2config.sh
rerere-train.sh

Contributed Software

Although these pieces are available as part of the official git
source tree, they are in somewhat different status.  The
intention is to keep interesting tools around git here, maybe
even experimental ones, to give users an easier access to them,
and to give tools wider exposure, so that they can be improved
faster.

I am not expecting to touch these myself that much.  As far as
my day-to-day operation is concerned, these subdirectories are
owned by their respective primary authors.  I am willing to help
if users of these components and the contrib/ subtree "owners"
have technical/design issues to resolve, but the initiative to
fix and/or enhance things _must_ be on the side of the subtree
owners.  IOW, I won't be actively looking for bugs and rooms for
enhancements in them as the git maintainer -- I may only do so
just as one of the users when I want to scratch my own itch.  If
you have patches to things in contrib/ area, the patch should be
first sent to the primary author, and then the primary author
should ack and forward it to me (git pull request is nicer).
This is the same way as how I have been treating gitk, and to a
lesser degree various foreign SCM interfaces, so you know the
drill.

I expect that things that start their life in the contrib/ area
to graduate out of contrib/ once they mature, either by becoming
projects on their own, or moving to the toplevel directory.  On
the other hand, I expect I'll be proposing removal of disused
and inactive ones from time to time.

If you have new things to add to this area, please first propose
it on the git mailing list, and after a list discussion proves
there are some general interests (it does not have to be a
list-wide consensus for a tool targeted to a relatively narrow
audience -- for example I do not work with projects whose
upstream is svn, so I have no use for git-svn myself, but it is
of general interest for people who need to interoperate with SVN
repositories in a way git-svn works better than git-svnimport),
submit a patch to create a subdirectory of contrib/ and put your
stuff there.

-jc