aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/repository.cpp9
-rw-r--r--src/ruleparser.cpp4
-rw-r--r--src/ruleparser.h1
3 files changed, 14 insertions, 0 deletions
diff --git a/src/repository.cpp b/src/repository.cpp
index e6ea81c..abf0b21 100644
--- a/src/repository.cpp
+++ b/src/repository.cpp
@@ -84,6 +84,15 @@ Repository::Repository(const Rules::Repository &rule)
init.setWorkingDirectory(name);
init.start("git", QStringList() << "--bare" << "init");
init.waitForFinished(-1);
+ // Write description
+ if (!rule.description.isEmpty()) {
+ QFile fDesc(QDir(name).filePath("description"));
+ if (fDesc.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text)) {
+ fDesc.write(rule.description.toUtf8());
+ fDesc.putChar('\n');
+ fDesc.close();
+ }
+ }
{
QFile marks(name + "/" + marksFileName(name));
marks.open(QIODevice::WriteOnly);
diff --git a/src/ruleparser.cpp b/src/ruleparser.cpp
index eb309bf..849a13f 100644
--- a/src/ruleparser.cpp
+++ b/src/ruleparser.cpp
@@ -93,6 +93,7 @@ void Rules::load(const QString &filename)
QRegExp matchLine("match\\s+(.*)", Qt::CaseInsensitive);
QRegExp matchActionLine("action\\s+(\\w+)", Qt::CaseInsensitive);
QRegExp matchRepoLine("repository\\s+(\\S+)", Qt::CaseInsensitive);
+ QRegExp matchDescLine("description\\s+(.+)$", Qt::CaseInsensitive);
QRegExp matchBranchLine("branch\\s+(\\S+)", Qt::CaseInsensitive);
QRegExp matchRevLine("(min|max) revision (\\d+)", Qt::CaseInsensitive);
QRegExp matchAnnotateLine("annotated\\s+(\\S+)", Qt::CaseInsensitive);
@@ -152,6 +153,9 @@ void Rules::load(const QString &filename)
repo.branches += branch;
continue;
+ } else if (matchDescLine.exactMatch(line)) {
+ repo.description = matchDescLine.cap(1);
+ continue;
} else if (matchRepoLine.exactMatch(line)) {
repo.forwardTo = matchRepoLine.cap(1);
continue;
diff --git a/src/ruleparser.h b/src/ruleparser.h
index 9d21937..5eaba49 100644
--- a/src/ruleparser.h
+++ b/src/ruleparser.h
@@ -43,6 +43,7 @@ public:
QString name;
QList<Branch> branches;
+ QString description;
QString forwardTo;
QString prefix;