aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Dawson <matthew@mjdsystems.ca>2015-02-14 01:15:55 -0500
committerMatthew Dawson <matthew@mjdsystems.ca>2015-02-14 01:15:55 -0500
commit9eee15917e01a89d937d1cba2eebbe9d65daeb72 (patch)
treed7d2310424e50815f2e287e641c2a1027550b2e1
parent28ddbf8138c865e19e8836b49af74f9d3bc20401 (diff)
downloadkconfig-9eee15917e01a89d937d1cba2eebbe9d65daeb72.tar.gz
kconfig-9eee15917e01a89d937d1cba2eebbe9d65daeb72.tar.bz2
Revert the SIC in commit 915976c1238be811f169eab1b02f7e8dad6410e0.
On further reflection, introducing a SIC to fix the bug is not ideal. I'm working on something that will address the underlying bug, but I didn't have it in time for 5.7. The versioning behaviour is left, as I do want it to exist for the future. This only reverts the mandatory versioning of files to avoid the compatibility break. CHANGELOG: Undo 915976c123, which never saw a release, enough to avoid the SIC.
-rw-r--r--autotests/test_kconf_update.cpp9
-rw-r--r--src/kconf_update/README.kconf_update5
-rw-r--r--src/kconf_update/kconf_update.cpp6
3 files changed, 11 insertions, 9 deletions
diff --git a/autotests/test_kconf_update.cpp b/autotests/test_kconf_update.cpp
index e4e2b416..ff4939a3 100644
--- a/autotests/test_kconf_update.cpp
+++ b/autotests/test_kconf_update.cpp
@@ -262,7 +262,7 @@ void TestKConfUpdate::test_data()
<< true
<< true
;
- QTest::newRow("DontMigrateWhenFileDoesntHaveVersion")
+ QTest::newRow("MigrateWhenFileDoesntHaveVersion")
<<
"File=testrc\n"
"Group=group\n"
@@ -276,12 +276,15 @@ void TestKConfUpdate::test_data()
<<
"testrc"
<<
+ "[$Version]\n"
+ "update_info=%1\n"
+ "\n"
"[group]\n"
- "old=value\n"
+ "new=value\n"
<<
""
<< false
- << false
+ << true
;
QTest::newRow("DontMigrateWhenUpdateCantDoItMissingFilename")
diff --git a/src/kconf_update/README.kconf_update b/src/kconf_update/README.kconf_update
index 72509286..cff2625e 100644
--- a/src/kconf_update/README.kconf_update
+++ b/src/kconf_update/README.kconf_update
@@ -51,8 +51,9 @@ Commas (,) are used to seperate fields and may not occur as part
of any field and all of the keywords are case-sensitive, i.e. you
cannot say "key" instead of "Key" for example.
-Starting from KDE Frameworks 5 make sure to put Version=5 before the first "Id=" otherwise the upd file
-will be skipped and the config file will not be updated.
+Starting in KDE Frameworks 5, all update files should have a version field
+at the top of the file. Thus all files should start with the line Version=5.
+Files without a version are currently treated as version 5 but are deprecated.
For the rest the file is parsed and executed sequentially from top to bottom.
Each line can contain one entry. The following entries are recognized:
diff --git a/src/kconf_update/kconf_update.cpp b/src/kconf_update/kconf_update.cpp
index 309bc3c2..dc16409e 100644
--- a/src/kconf_update/kconf_update.cpp
+++ b/src/kconf_update/kconf_update.cpp
@@ -252,8 +252,7 @@ bool KonfUpdate::checkFile(const QString &filename)
}
if (line.startsWith("Id=")) {
if (!foundVersion) {
- qDebug() << QStringLiteral("Missing \"Version=5\", file \'%1\' will be skipped.").arg(filename);
- return true;
+ qDebug() << QStringLiteral("Missing \"Version=5\", file \'%1\' will be skipped in the future.").arg(filename);
}
id = m_currentFilename + ':' + line.mid(3);
} else if (line.startsWith("File=")) {
@@ -336,8 +335,7 @@ bool KonfUpdate::updateFile(const QString &filename)
}
if (m_line.startsWith(QLatin1String("Id="))) {
if (!foundVersion) {
- qDebug() << QStringLiteral("Missing \"Version=5\", file \'%1\' will be skipped.").arg(filename);
- break;
+ qDebug() << QStringLiteral("Missing \"Version=5\", file \'%1\' will be skipped in the future.").arg(filename);
}
gotId(m_line.mid(3));
} else if (m_skip) {