public ISVNConnector createTunnelConnector(SVNURL url) { String subProtocolName = url.getProtocol().substring("svn+".length()); if (subProtocolName == null) { return null; } Map tunnels = getConfigFile().getProperties("tunnels"); final String tunnel = (String)tunnels.get(subProtocolName); if (tunnel == null) { return null; } return new SVNTunnelConnector(subProtocolName, tunnel); }
public void open(SVNRepositoryImpl repository) throws SVNException { final String[] expandedTunnel = expandTunnelSpec(myName, myTunnelSpec); open(repository, sshCommand.toArray(new String[sshCommand.size()]));
public void open(SVNRepositoryImpl repository) throws SVNException { String expandedTunnel = expandTunnelSpec(myName, myTunnelSpec); } catch (IOException e) { try { close(repository); } catch (SVNException inner) {
public void open(SVNRepositoryImpl repository) throws SVNException { // 1. expand tunnel spec (when env. is used). String expandedTunnel = expandTunnelSpec(myName, myTunnelSpec); // 2. create tunnel command using repo URL. String host = repository.getLocation().getHost(); if (repository.getLocation().getUserInfo() != null && !"".equals(repository.getLocation().getUserInfo())) { String username = repository.getLocation().getUserInfo(); host = username + "@" + host; } expandedTunnel = MessageFormat.format(TUNNEL_COMMAND, new Object[] {expandedTunnel, host}); // 3. get and append --tunnel-user if needed. if (repository.getAuthenticationManager() != null) { SVNAuthentication auth = repository.getAuthenticationManager().getFirstAuthentication(ISVNAuthenticationManager.USERNAME, host, repository.getLocation()); if (auth == null) { SVNErrorManager.cancel("Authentication cancelled", SVNLogType.NETWORK); } String userName = auth.getUserName(); if (userName == null || "".equals(userName.trim())) { userName = System.getProperty("user.name"); } auth = new SVNUserNameAuthentication(userName, auth.isStorageAllowed(), repository.getLocation(), false); repository.getAuthenticationManager().acknowledgeAuthentication(true, ISVNAuthenticationManager.USERNAME, host, null, auth); expandedTunnel += " --tunnel-user " + userName; repository.setExternalUserName(userName); } SVNDebugLog.getDefaultLog().logFinest(SVNLogType.NETWORK, "tunnel command: " + expandedTunnel); open(repository, expandedTunnel); }
public void open(SVNRepositoryImpl repository) throws SVNException { // 1. expand tunnel spec (when env. is used). String expandedTunnel = expandTunnelSpec(myName, myTunnelSpec); // 2. create tunnel command using repo URL. String host = repository.getLocation().getHost(); if (repository.getLocation().getUserInfo() != null && !"".equals(repository.getLocation().getUserInfo())) { String username = repository.getLocation().getUserInfo(); host = username + "@" + host; } expandedTunnel = MessageFormat.format(TUNNEL_COMMAND, new Object[] {expandedTunnel, host}); // 3. get and append --tunnel-user if needed. if (repository.getAuthenticationManager() != null) { SVNAuthentication auth = repository.getAuthenticationManager().getFirstAuthentication(ISVNAuthenticationManager.USERNAME, host, repository.getLocation()); if (auth == null) { SVNErrorManager.cancel("Authentication cancelled", SVNLogType.NETWORK); } String userName = auth.getUserName(); if (userName == null || "".equals(userName.trim())) { userName = System.getProperty("user.name"); } auth = new SVNUserNameAuthentication(userName, auth.isStorageAllowed(), repository.getLocation(), false); repository.getAuthenticationManager().acknowledgeAuthentication(true, ISVNAuthenticationManager.USERNAME, host, null, auth); expandedTunnel += " --tunnel-user " + userName; repository.setExternalUserName(userName); } SVNDebugLog.getDefaultLog().logFinest(SVNLogType.NETWORK, "tunnel command: " + expandedTunnel); open(repository, expandedTunnel); }
public ISVNConnector createTunnelConnector(SVNURL url) { String subProtocolName = url.getProtocol().substring("svn+".length()); if (subProtocolName == null) { return null; } Map tunnels = getConfigFile().getProperties("tunnels"); final String tunnel = (String)tunnels.get(subProtocolName); if (tunnel == null) { return null; } return new SVNTunnelConnector(subProtocolName, tunnel); }
public ISVNConnector createTunnelConnector(SVNURL url) { if (myTunnelProvider != null) { return myTunnelProvider.createTunnelConnector(url); } else { String subProtocolName = url.getProtocol().substring("svn+".length()); if (subProtocolName == null) { return null; } Map tunnels = getConfigFile().getProperties("tunnels"); final String tunnel = (String) tunnels.get(subProtocolName); if (tunnel == null) { return null; } return new SVNTunnelConnector(subProtocolName, tunnel); } }
public ISVNConnector createConnector(SVNRepository repository) throws SVNException { SVNURL location = repository.getLocation(); if ("svn+ssh".equals(location.getProtocol())) { return new SVNGanymedConnector(); } else if (location.getProtocol().startsWith("svn+")) { String name = location.getProtocol().substring("svn+".length()); if (repository.getTunnelProvider() != null) { String tunnel = repository.getTunnelProvider().getTunnelDefinition(name); if (tunnel != null) { return new SVNTunnelConnector(name, tunnel); } } SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.EXTERNAL_PROGRAM, "Cannot find tunnel specification for ''{0}''", name); SVNErrorManager.error(err); } return new SVNPlainConnector(); } };