CloneDialog: Fixed incorrect parsing for local repositories
CloneDialog: Fixed incorrect missing suffix detection We now pass local repository urls as local paths to fossil, in order to overcome buggy behavior of QUrl for Windows paths FossilOrigin-Name: afa9b2538a0bfa258104a979eadce28c099e9848
This commit is contained in:
		
							
								
								
									
										14
									
								
								manifest
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								manifest
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| C Translation\sconversion\sis\snow\sautomatically\scalled\sfrom\sthe\sproject\sfile\nImproved\sthe\stranslation\sconverion\sscript\son\sWindows\n | C CloneDialog:\sFixed\sincorrect\sparsing\sfor\slocal\srepositories\nCloneDialog:\sFixed\sincorrect\smissing\ssuffix\sdetection\nWe\snow\spass\slocal\srepository\surls\sas\slocal\spaths\sto\sfossil,\sin\sorder\sto\sovercome\sbuggy\sbehavior\sof\sQUrl\sfor\sWindows\spaths | ||||||
| D 2015-08-26T19:45:48.220 | D 2015-08-26T19:56:14.906 | ||||||
| F .fossil-settings/manifest a09a968bf05a50058f3ad50132730b719bc39e76 | F .fossil-settings/manifest a09a968bf05a50058f3ad50132730b719bc39e76 | ||||||
| F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35 | F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35 | ||||||
| F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b | F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b | ||||||
| @@ -216,7 +216,7 @@ F src/AboutDialog.cpp aaa3e614c9aace66531bccc35a3dbf398cb79b7b | |||||||
| F src/AboutDialog.h 269f3a0589067c08f19b542e4576b0ef58bc6ec5 | F src/AboutDialog.h 269f3a0589067c08f19b542e4576b0ef58bc6ec5 | ||||||
| F src/BrowserWidget.cpp 8b8f545cdff4a4188edc698a1b4777f5df46f056 | F src/BrowserWidget.cpp 8b8f545cdff4a4188edc698a1b4777f5df46f056 | ||||||
| F src/BrowserWidget.h 764d66aa9a93b890298bd0301097739cb4e16597 | F src/BrowserWidget.h 764d66aa9a93b890298bd0301097739cb4e16597 | ||||||
| F src/CloneDialog.cpp c341622b01d493387d6e4928018b3392d92471e8 | F src/CloneDialog.cpp ca978366d9d5fcdbb21551cd7d7e782fcebd066c | ||||||
| F src/CloneDialog.h 8813d91f893eb3eb86a4ea5e50f9a53a0ea07047 | F src/CloneDialog.h 8813d91f893eb3eb86a4ea5e50f9a53a0ea07047 | ||||||
| F src/CommitDialog.cpp 3d25ae2aa8af0ab417736a3f2d7f95a8dcb7480a | F src/CommitDialog.cpp 3d25ae2aa8af0ab417736a3f2d7f95a8dcb7480a | ||||||
| F src/CommitDialog.h 921bf27c0c538ab9e9d6bdc750064337d346270b | F src/CommitDialog.h 921bf27c0c538ab9e9d6bdc750064337d346270b | ||||||
| @@ -226,7 +226,7 @@ F src/FileActionDialog.cpp fcaebf9986f789b3440d5390b3458ad5f86fe0c8 | |||||||
| F src/FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce | F src/FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce | ||||||
| F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2 | F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2 | ||||||
| F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df | F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df | ||||||
| F src/Fossil.cpp e3451ddd8f19f1b6f2d446d9390b336e493da197 | F src/Fossil.cpp db2d3643d92888a3ab8c25e76b7dfb4f988b18ff | ||||||
| F src/Fossil.h 7acbd4a9d43f6a11c183dbffd73b71d54a4c5108 | F src/Fossil.h 7acbd4a9d43f6a11c183dbffd73b71d54a4c5108 | ||||||
| F src/FslSettingsDialog.cpp e00907d493fba469e48a008aecda88426350b5ac | F src/FslSettingsDialog.cpp e00907d493fba469e48a008aecda88426350b5ac | ||||||
| F src/FslSettingsDialog.h dfe2a61884a55a74cbb9206b6f6b482b979725e7 | F src/FslSettingsDialog.h dfe2a61884a55a74cbb9206b6f6b482b979725e7 | ||||||
| @@ -261,7 +261,7 @@ F ui/MainWindow.ui e2a18caa7482b3ee0dff477592cdc9574b35fe4f | |||||||
| F ui/RemoteDialog.ui 95a4750d972ed8c49bb10b95db91ff16cfe2dd0b | F ui/RemoteDialog.ui 95a4750d972ed8c49bb10b95db91ff16cfe2dd0b | ||||||
| F ui/RevisionDialog.ui 27c3b98c665fec014a50cbf3352c0627f75e68cd | F ui/RevisionDialog.ui 27c3b98c665fec014a50cbf3352c0627f75e68cd | ||||||
| F ui/SettingsDialog.ui 2e1b6ce7a49100088c5649292c1319e62e0302e1 | F ui/SettingsDialog.ui 2e1b6ce7a49100088c5649292c1319e62e0302e1 | ||||||
| P 6c585dffad9f240a390a241dd71f5f2f95f46d49 | P e574454625a7701da9d1959fa72e54036d5ab7c3 | ||||||
| R 74bc60d098b0e582b722a041e2be3ea0 | R edb709028da6b5b7318a59278b5a9c29 | ||||||
| U Kostas | U Kostas | ||||||
| Z 9d833293ef52078267928ccc7382a4eb | Z 791f9cfa7aba39378f947f3aabef881e | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| e574454625a7701da9d1959fa72e54036d5ab7c3 | afa9b2538a0bfa258104a979eadce28c099e9848 | ||||||
| @@ -49,12 +49,18 @@ bool CloneDialog::run(QWidget *parent, QUrl &url, QString &repository, QUrl &url | |||||||
|  |  | ||||||
| 	QString urltext = dlg.ui->lineURL->text(); | 	QString urltext = dlg.ui->lineURL->text(); | ||||||
|  |  | ||||||
|  | 	// Check if the url is a local file | ||||||
|  | 	if(QFileInfo(urltext).exists()) | ||||||
|  | 		url = QUrl::fromLocalFile(urltext); | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
| 		url = QUrl::fromUserInput(urltext); | 		url = QUrl::fromUserInput(urltext); | ||||||
| 		if(url.isEmpty() || !url.isValid()) | 		if(url.isEmpty() || !url.isValid()) | ||||||
| 		{ | 		{ | ||||||
| 			QMessageBox::critical(parent, tr("Error"), tr("Invalid URL."), QMessageBox::Ok ); | 			QMessageBox::critical(parent, tr("Error"), tr("Invalid URL."), QMessageBox::Ok ); | ||||||
| 			return false; | 			return false; | ||||||
| 		} | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if(!dlg.ui->lineUserName->text().trimmed().isEmpty()) | 	if(!dlg.ui->lineUserName->text().trimmed().isEmpty()) | ||||||
| 		url.setUserName(dlg.ui->lineUserName->text()); | 		url.setUserName(dlg.ui->lineUserName->text()); | ||||||
| @@ -94,7 +100,8 @@ void CloneDialog::GetRepositoryPath(QString &pathResult) | |||||||
|  |  | ||||||
| 	// Ensure that it ends in the required extension (On GTK, Qt doesn't seem to add it automatically) | 	// Ensure that it ends in the required extension (On GTK, Qt doesn't seem to add it automatically) | ||||||
| 	QFileInfo fi(pathResult); | 	QFileInfo fi(pathResult); | ||||||
| 	if(fi.suffix().toLower() != ("." FOSSIL_EXT)) | 	QString ext = fi.suffix().toLower(); | ||||||
|  | 	if(ext != FOSSIL_EXT) | ||||||
| 		pathResult += "." FOSSIL_EXT; | 		pathResult += "." FOSSIL_EXT; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -137,11 +137,17 @@ bool Fossil::pushRepository(const QUrl &url) | |||||||
|  |  | ||||||
| 	if(!url.isEmpty()) | 	if(!url.isEmpty()) | ||||||
| 	{ | 	{ | ||||||
|  | 		// QUrl generates bad local file url for Windows local paths with drive letters | ||||||
|  | 		if(url.isLocalFile()) | ||||||
|  | 			params << url.toLocalFile(); | ||||||
|  | 		else | ||||||
| 			params << url.toEncoded(); | 			params << url.toEncoded(); | ||||||
| 		params << "--once"; | 		params << "--once"; | ||||||
|  |  | ||||||
| 		QStringList log_params = params; | 		QStringList log_params = params; | ||||||
|  | 		if(!url.isLocalFile()) | ||||||
| 			log_params[1] = UrlToStringDisplay(url); | 			log_params[1] = UrlToStringDisplay(url); | ||||||
|  |  | ||||||
| 		log_params.push_front("fossil"); | 		log_params.push_front("fossil"); | ||||||
|  |  | ||||||
| 		runFlags = RUNFLAGS_SILENT_INPUT; | 		runFlags = RUNFLAGS_SILENT_INPUT; | ||||||
| @@ -161,10 +167,16 @@ bool Fossil::pullRepository(const QUrl &url) | |||||||
|  |  | ||||||
| 	if(!url.isEmpty()) | 	if(!url.isEmpty()) | ||||||
| 	{ | 	{ | ||||||
|  | 		// QUrl generates bad local file url for Windows local paths with drive letters | ||||||
|  | 		if(url.isLocalFile()) | ||||||
|  | 			params << url.toLocalFile(); | ||||||
|  | 		else | ||||||
| 			params << url.toEncoded(); | 			params << url.toEncoded(); | ||||||
|  |  | ||||||
| 		params << "--once"; | 		params << "--once"; | ||||||
|  |  | ||||||
| 		QStringList log_params = params; | 		QStringList log_params = params; | ||||||
|  | 		if(!url.isLocalFile()) | ||||||
| 			log_params[1] = UrlToStringDisplay(url); | 			log_params[1] = UrlToStringDisplay(url); | ||||||
|  |  | ||||||
| 		log_params.push_front("fossil"); | 		log_params.push_front("fossil"); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user