diff --git a/manifest b/manifest index 1d71e91..0d94c75 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Merged\sUpdateRevision\sinto\sUpdate\nDisabled\sunimplemented\sRemotes\sand\sSettings\sworkspace\sitems -D 2015-05-03T15:37:36.581 +C Fixed\sbug\swhere\sa\sfossil\soutput\sline\swould\snot\sbe\soutput\sunder\scertain\sconditions +D 2015-05-03T17:57:33.003 F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35 F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b @@ -196,8 +196,8 @@ F src/FileActionDialog.cpp fcaebf9986f789b3440d5390b3458ad5f86fe0c8 F src/FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2 F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df -F src/Fossil.cpp f27b97eaf068275a0e8558dd2b739f9c7b61774a -F src/Fossil.h f9b49ed930af2159f97a86ce0f6da821a0b0819e +F src/Fossil.cpp ca7ad24622e1fc1a03c92d7ae9b51afc17f7c09c +F src/Fossil.h d65a7461d213bcc30f08724d3306c6ee00843217 F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261 F src/MainWindow.cpp 0a5183c05ff08b635cd9517182b2357240ea52be @@ -220,7 +220,7 @@ F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d F ui/MainWindow.ui 9dd0f9ef3f486413c9af912ac557c0e7bf9c6f50 F ui/RevisionDialog.ui 27c3b98c665fec014a50cbf3352c0627f75e68cd F ui/SettingsDialog.ui 2b7c2870e0054b0f4106f495d85d02c0b814df8b -P 07f3a4f2e0f2a67172434d4336bec1dea1fc5856 -R 99002beae8d92d0dad7136d0a700f184 +P a297f70942e3dccf9904c054fb9e633edb9c59cb +R e0fe347c0fa4907206bddff7538284f8 U kostas -Z 062c1bdf7b6c35cfdeda74b3f8d3385e +Z 101db116ff5c22dbcc32decf8bc34dd6 diff --git a/manifest.uuid b/manifest.uuid index 39bde2f..fce10bd 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a297f70942e3dccf9904c054fb9e633edb9c59cb \ No newline at end of file +2744a0db324c05cb0f4e2e73128d8c3837d66479 \ No newline at end of file diff --git a/src/Fossil.cpp b/src/Fossil.cpp index d73d078..05a163b 100644 --- a/src/Fossil.cpp +++ b/src/Fossil.cpp @@ -725,14 +725,34 @@ bool Fossil::runFossilRaw(const QStringList &args, QStringList *output, int *exi process.getLogAndClear(input); #ifdef QT_DEBUG // Log fossil output in debug builds - if(!input.isEmpty()) + if(!input.isEmpty() && (runFlags & RUNFLAGS_DEBUG) ) qDebug() << "[" << ++input_index << "] '" << input.data() << "'\n"; #endif buffer += decoder->toUnicode(input); - - - #ifdef QT_DEBUG // breakpint +#if 0 // Keep this for now to simulate bad parses + if(runFlags & RUNFLAGS_DEBUG) + { + static int debug=1; + if(debug==1) + { + buffer = " 4: [df2233aabe09ef] on 2013-02-03 02:51:33\n" + " History\n" + " 5: [df2233aabe09ef] on 2013-02-15 03:55:37\n" + " "; + debug++; + } + else if(debug==2) + { + buffer = " Diff\n" + " "; + debug++; + } + else + buffer=""; + } +#endif + #ifdef QT_DEBUG // breakpoint //if(buffer.indexOf("SQLITE_CANTOPEN")!=-1) // qDebug() << "Breakpoint\n"; #endif @@ -759,9 +779,12 @@ bool Fossil::runFossilRaw(const QStringList &args, QStringList *output, int *exi if(last_line_start>0) { int before_last_line_start = buffer.lastIndexOf(EOL_MARK, last_line_start-1); - // No line before ? + + // No new-line before ? if(before_last_line_start==-1) before_last_line_start = 0; // Use entire line + else + ++before_last_line_start; // Skip new-line // Extract previous line before_last_line = buffer.mid(before_last_line_start, last_line_start-before_last_line_start); @@ -785,12 +808,19 @@ bool Fossil::runFossilRaw(const QStringList &args, QStringList *output, int *exi QStringList log_lines = buffer.left(last_line_start).split(EOL_MARK); for(int l=0; l0 && l==log_lines.length()-1 && buffer[buffer.length()-1] != EOL_MARK ) + // Skip last line if we have a query. This will be handled manually further down + if(have_query && l==log_lines.length()-1) continue; QString line = log_lines[l].trimmed(); + #ifdef QT_DEBUG + if(runFlags & RUNFLAGS_DEBUG) + { + qDebug() << "LINE: " << line << "\n"; + } + #endif + if(line.isEmpty()) continue; diff --git a/src/Fossil.h b/src/Fossil.h index 093f306..e1bb325 100644 --- a/src/Fossil.h +++ b/src/Fossil.h @@ -18,7 +18,8 @@ enum RunFlags RUNFLAGS_SILENT_INPUT = 1<<0, RUNFLAGS_SILENT_OUTPUT = 1<<1, RUNFLAGS_SILENT_ALL = RUNFLAGS_SILENT_INPUT | RUNFLAGS_SILENT_OUTPUT, - RUNFLAGS_DETACHED = 1<<2 + RUNFLAGS_DETACHED = 1<<2, + RUNFLAGS_DEBUG = 1<<3, }; enum RepoStatus