コード例 #1
0
def _open_ssh(host, port):
    global _ssh_master

    key = '%s:%s' % (host, port)
    if key in _ssh_cache:
        return True

    if not _ssh_master \
    or 'GIT_SSH' in os.environ \
    or sys.platform in ('win32', 'cygwin'):
        # failed earlier, or cygwin ssh can't do this
        #
        return False

    command = [
        'ssh', '-o',
        'ControlPath %s' % _ssh_sock(), '-p',
        str(port), '-M', '-N', host
    ]
    try:
        Trace(': %s', ' '.join(command))
        p = subprocess.Popen(command)
    except Exception, e:
        _ssh_master = False
        print >>sys.stderr, \
          '\nwarn: cannot enable ssh control master for %s:%s\n%s' \
          % (host,port, str(e))
        return False
コード例 #2
0
ファイル: git_config.py プロジェクト: ox-it/wl-repo
def _open_ssh(host, port):
  global _ssh_master

  key = '%s:%s' % (host, port)
  if key in _ssh_cache:
    return True

  if not _ssh_master \
  or 'GIT_SSH' in os.environ \
  or sys.platform in ('win32', 'cygwin'):
    # failed earlier, or cygwin ssh can't do this
    #
    return False

  command = ['ssh',
             '-o','ControlPath %s' % _ssh_sock(),
             '-p',str(port),
             '-M',
             '-N',
             host]
  try:
    Trace(': %s', ' '.join(command))
    p = subprocess.Popen(command)
  except Exception, e:
    _ssh_master = False
    print >>sys.stderr, \
      '\nwarn: cannot enable ssh control master for %s:%s\n%s' \
      % (host,port, str(e))
    return False
コード例 #3
0
def close_ssh():
    for key, p in _ssh_cache.iteritems():
        os.kill(p.pid, SIGTERM)
        p.wait()
    _ssh_cache.clear()

    d = _ssh_sock(create=False)
    if d:
        try:
            os.rmdir(os.path.dirname(d))
        except OSError:
            pass
コード例 #4
0
ファイル: git_config.py プロジェクト: Lerist/repo
def close_ssh():
  for key,p in _ssh_cache.iteritems():
    try:
      os.kill(p.pid, SIGTERM)
      p.wait()
    except OSError:
      pass
  _ssh_cache.clear()

  d = _ssh_sock(create=False)
  if d:
    try:
      os.rmdir(os.path.dirname(d))
    except OSError:
      pass