Fall back to textual diff when gdiff fails

Fossil Exe path needs to be set before applySettings

FossilOrigin-Name: a9115a3369a7897bfc665f2a9614f61dbec80493
This commit is contained in:
Kostas 2015-07-29 09:09:14 +00:00
parent 45db311f63
commit 387cbb57e8
5 changed files with 25 additions and 18 deletions

View File

@ -1,5 +1,5 @@
C Fixed\sissue\swhere\sthe\sexplicit\sfossil\spath\ssetting\swas\snot\sbeing\sapplied
D 2015-07-29T07:34:18.970
C Fall\sback\sto\stextual\sdiff\swhen\sgdiff\sfails\nFossil\sExe\spath\sneeds\sto\sbe\sset\sbefore\sapplySettings
D 2015-07-29T09:09:14.938
F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35
F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b
F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b
@ -220,13 +220,13 @@ F src/FileActionDialog.cpp fcaebf9986f789b3440d5390b3458ad5f86fe0c8
F src/FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce
F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2
F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df
F src/Fossil.cpp f3b3803ccd5022ae8176229ddff62644b2f11156
F src/Fossil.h 29423d27f723a1b66959e3f47a7d6802cba33032
F src/Fossil.cpp 1227d77675e0120ea9a00861bc11319f6d983cab
F src/Fossil.h 7190531104fdcaaacfc9bef8b285eed0b92487a3
F src/FslSettingsDialog.cpp 2531d3709f0eab66651671e3edead2ca720d07d5
F src/FslSettingsDialog.h dfe2a61884a55a74cbb9206b6f6b482b979725e7
F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c
F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261
F src/MainWindow.cpp c78a18f4f4ba8827e11a594352a521fbcc111d90
F src/MainWindow.cpp 4743ac0f46549349d8b47bbbcdf83660103d88e8
F src/MainWindow.h c4518a0ba8d5ba2a128449bd8a50adff8402049d
F src/RemoteDialog.cpp 8540cc5e2e41c4127ed8a028d84691604fa6ecac
F src/RemoteDialog.h 5e0438c2bd7c79b1bb44bfbd58c2181b544a9e5d
@ -254,7 +254,7 @@ F ui/MainWindow.ui 10181826a25056ed5aba2b23a7d110159be7c043
F ui/RemoteDialog.ui 95a4750d972ed8c49bb10b95db91ff16cfe2dd0b
F ui/RevisionDialog.ui 27c3b98c665fec014a50cbf3352c0627f75e68cd
F ui/SettingsDialog.ui 47b9a31e28ad523f14a1c4cd361270b6babbdf7d
P faaed64ae5cace45eb2ce7fff9f4c179bfbc5a80
R 5ecb9ed6a157328d9c370ea31eb573a7
P c9ad2689d2d946996f03dbdd62016a33cb7ef4a4
R 10ad14ef2154a69d58d259e9fd307af2
U Kostas
Z 136628cb17e9bfad5bc1498b99c6b399
Z 51e6c7e69b22e2696b997fe00a51cecc

View File

@ -1 +1 @@
c9ad2689d2d946996f03dbdd62016a33cb7ef4a4
a9115a3369a7897bfc665f2a9614f61dbec80493

View File

@ -229,10 +229,15 @@ bool Fossil::getFossilVersion(QString& version)
}
//------------------------------------------------------------------------------
bool Fossil::diffFile(const QString &repoFile)
bool Fossil::diffFile(const QString &repoFile, bool graphical)
{
// Run the diff detached
return runFossil(QStringList() << "gdiff" << QuotePath(repoFile), 0, RUNFLAGS_DETACHED);
if(graphical)
{
// Run the diff detached
return runFossil(QStringList() << "gdiff" << QuotePath(repoFile), 0, RUNFLAGS_DETACHED);
}
else
return runFossil(QStringList() << "diff" << QuotePath(repoFile));
}
//------------------------------------------------------------------------------

View File

@ -93,7 +93,7 @@ public:
bool listFiles(QStringList &files);
bool status(QStringList& result);
bool diffFile(const QString &repoFile);
bool diffFile(const QString &repoFile, bool graphical);
bool commitFiles(const QStringList &fileList, const QString &comment, const QString& newBranchName, bool isPrivateBranch);
bool addFiles(const QStringList& fileList);
bool removeFiles(const QStringList& fileList, bool deleteLocal);
@ -126,7 +126,7 @@ public:
const QString &getUIHttpPort() const { return fossilUIPort; }
QString getUIHttpAddress() const;
void setFossilPath(const QString &path) { fossilPath = path; }
void setExecutablePath(const QString &path) { fossilPath = path; }
private:
void log(const QString &text, bool isHTML=false)

View File

@ -297,11 +297,10 @@ MainWindow::MainWindow(Settings &_settings, QWidget *parent, QString *workspaceP
uiCallback.init(this);
// Need to be before applySettings which sets the last workspace
fossil().Init(&uiCallback);
fossil().setExecutablePath(settings.GetValue(FUEL_SETTING_FOSSIL_PATH).toString());
applySettings();
fossil().setFossilPath(settings.GetValue(FUEL_SETTING_FOSSIL_PATH).toString());
// Apply any explicit workspace path if available
if(workspacePath && !workspacePath->isEmpty())
openWorkspace(*workspacePath);
@ -1406,7 +1405,10 @@ void MainWindow::getSelectionRemotes(QStringList &remoteUrls)
//------------------------------------------------------------------------------
bool MainWindow::diffFile(const QString &repoFile)
{
return fossil().diffFile(repoFile);
if(fossil().diffFile(repoFile, true))
return true;
else
return fossil().diffFile(repoFile, false);
}
//------------------------------------------------------------------------------
@ -1782,7 +1784,7 @@ void MainWindow::on_actionSettings_triggered()
if(!SettingsDialog::run(this, settings))
return;
fossil().setFossilPath(settings.GetValue(FUEL_SETTING_FOSSIL_PATH).toString());
fossil().setExecutablePath(settings.GetValue(FUEL_SETTING_FOSSIL_PATH).toString());
updateCustomActions();
}