Fixed incorrect handling of local and UNC paths when cloning repositories
FossilOrigin-Name: ab62f1bafdc523e1ea7e661676aeb49c82ed93e0
This commit is contained in:
@ -46,17 +46,22 @@ bool CloneDialog::run(QWidget *parent, QUrl &url, QString &repository)
|
||||
if(dlg.exec() != QDialog::Accepted)
|
||||
return false;
|
||||
|
||||
url.setUrl(dlg.ui->lineURL->text());
|
||||
QString urltext = dlg.ui->lineURL->text();
|
||||
|
||||
url = QUrl::fromUserInput(urltext);
|
||||
if(url.isEmpty() || !url.isValid())
|
||||
{
|
||||
QMessageBox::critical(parent, tr("Error"), tr("Invalid URL."), QMessageBox::Ok );
|
||||
return false;
|
||||
}
|
||||
|
||||
url.setUserName(dlg.ui->lineUserName->text());
|
||||
url.setPassword(dlg.ui->linePassword->text());
|
||||
if(!dlg.ui->lineUserName->text().trimmed().isEmpty())
|
||||
url.setUserName(dlg.ui->lineUserName->text());
|
||||
|
||||
if(dlg.ui->lineRepository->text().isEmpty() )
|
||||
if(!dlg.ui->linePassword->text().trimmed().isEmpty())
|
||||
url.setPassword(dlg.ui->linePassword->text());
|
||||
|
||||
if(dlg.ui->lineRepository->text().isEmpty())
|
||||
{
|
||||
QMessageBox::critical(parent, tr("Error"), tr("Invalid Repository File."), QMessageBox::Ok );
|
||||
return false;
|
||||
|
@ -498,12 +498,18 @@ void MainWindow::on_actionCloneRepository_triggered()
|
||||
stopUI();
|
||||
|
||||
// Actual command
|
||||
QStringList cmd = QStringList() << "clone" << url.toString() << repository;
|
||||
QString source = url.toString();
|
||||
QString logsource = url.toString(QUrl::RemovePassword);
|
||||
if(url.isLocalFile())
|
||||
{
|
||||
source = url.toLocalFile();
|
||||
logsource = source;
|
||||
}
|
||||
|
||||
QStringList cmd = QStringList() << "clone" << source << repository;
|
||||
|
||||
// Log Command
|
||||
if(!url.password().isEmpty())
|
||||
url.setPassword("*****");
|
||||
QStringList logcmd = QStringList() << "fossil" << "clone" << url.toString() << repository;
|
||||
QStringList logcmd = QStringList() << "fossil" << "clone" << logsource << repository;
|
||||
|
||||
log("<b>>"+logcmd.join(" ")+"</b><br>", true);
|
||||
|
||||
|
Reference in New Issue
Block a user