forked from qt-creator/qt-creator
		
	Fixed b390e56d67
				
					
				
			Do not check for existence of the binary, breaks on Windows due to .exe (and potentially paths). Use waitForStarted(). On this occasion, kill on timeout in case of password prompts.
This commit is contained in:
		@@ -104,10 +104,6 @@ void GitCommand::execute()
 | 
			
		||||
    if (m_jobs.empty())
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    if(!QFileInfo(m_binaryPath).exists()){
 | 
			
		||||
        emit errorText(QLatin1String("Error: Git not found.")+m_binaryPath);
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    // For some reason QtConcurrent::run() only works on this
 | 
			
		||||
    QFuture<void> task = QtConcurrent::run(this, &GitCommand::run);
 | 
			
		||||
    const QString taskName = QLatin1String("Git ") + m_jobs.front().arguments.at(0);
 | 
			
		||||
@@ -137,8 +133,15 @@ void GitCommand::run()
 | 
			
		||||
            qDebug() << "GitCommand::run" << j << '/' << count << m_jobs.at(j).arguments;
 | 
			
		||||
 | 
			
		||||
        process.start(m_binaryPath, m_jobs.at(j).arguments);
 | 
			
		||||
        if(!process.waitForStarted()) {
 | 
			
		||||
            ok = false;
 | 
			
		||||
            error += QString::fromLatin1("Error: \"%1\" could not be started: %2").arg(m_binaryPath, process.errorString());
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        process.closeWriteChannel();
 | 
			
		||||
        if (!process.waitForFinished(m_jobs.at(j).timeout * 1000)) {
 | 
			
		||||
            process.terminate();
 | 
			
		||||
            ok = false;
 | 
			
		||||
            error += QLatin1String("Error: Git timed out");
 | 
			
		||||
            break;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user