public Process exec(String command, int timeout)throws TransportException {String ssh = SystemReader.getInstance().getenv("GIT_SSH"); boolean putty = ssh.toLowerCase(Locale.ROOT).contains("plink"); List<String> args = new ArrayList<>();args.add(ssh);if (putty&& !ssh.toLowerCase(Locale.ROOT).contains("tortoiseplink")) args.add("-batch"); if (0 < getURI().getPort()) {args.add(putty ? "-P" : "-p"); args.add(String.valueOf(getURI().getPort()));}if (getURI().getUser() != null)args.add(getURI().getUser() + "@" + getURI().getHost()); elseargs.add(getURI().getHost());args.add(command);ProcessBuilder pb = createProcess(args);try {return pb.start();} catch (IOException err) {throw new TransportException(err.getMessage(), err);}}

public Process exec ( String command , int timeout ) throws TransportException { String ssh = SystemReader . getInstance ( ) . getenv ( "GIT_SSH" ) ; boolean putty = ssh . toLowerCase ( Locale . ROOT ) . contains ( "plink" ) ; List < String > args = new ArrayList < > ( ) ; args . add ( ssh ) ; if ( putty && ! ssh . toLowerCase ( Locale . ROOT ) . contains ( "tortoiseplink" ) ) args . add ( "-batch" ) ; if ( 0 < getURI ( ) . getPort ( ) ) { args . add ( putty ? "-P" : "-p" ) ; args . add ( String . valueOf ( getURI ( ) . getPort ( ) ) ) ; } if ( getURI ( ) . getUser ( ) != null ) args . add ( getURI ( ) . getUser ( ) + "@" + getURI ( ) . getHost ( ) ) ; elseargs . add ( getURI ( ) . getHost ( ) ) ; args . add ( command ) ; ProcessBuilder pb = createProcess ( args ) ; try { return pb . start ( ) ; } catch ( IOException err ) { throw new TransportException ( err . getMessage ( ) , err ) ; } }
public virtual SystemProcess Exec(string command, int timeout){string ssh = SystemReader.GetInstance().Getenv("GIT_SSH");bool putty = ssh.ToLower().Contains("plink");IList<string> args = new AList<string>();args.AddItem(ssh);if (putty && !ssh.ToLower().Contains("tortoiseplink")){args.AddItem("-batch");}if (0 < this._enclosing.GetURI().GetPort()){args.AddItem(putty ? "-P" : "-p");args.AddItem(this._enclosing.GetURI().GetPort().ToString());}if (this._enclosing.GetURI().GetUser() != null){args.AddItem(this._enclosing.GetURI().GetUser() + "@" + this._enclosing.GetURI().GetHost());}else{args.AddItem(this._enclosing.GetURI().GetHost());}args.AddItem(command);ProcessStartInfo pb = new ProcessStartInfo();pb.SetCommand(args);if (this._enclosing.local.Directory != null){pb.EnvironmentVariables.Put(Constants.GIT_DIR_KEY, this._enclosing.local.Directory.GetPath());}try{return pb.Start();}catch (IOException err){throw new TransportException(err.Message, err);}}
