summaryrefslogtreecommitdiff
path: root/buildutil/version-util.awk
diff options
context:
space:
mode:
Diffstat (limited to 'buildutil/version-util.awk')
-rw-r--r--buildutil/version-util.awk48
1 files changed, 48 insertions, 0 deletions
diff --git a/buildutil/version-util.awk b/buildutil/version-util.awk
new file mode 100644
index 0000000..0ed59c5
--- /dev/null
+++ b/buildutil/version-util.awk
@@ -0,0 +1,48 @@
+BEGIN {
+ FS="|";
+ init_revisions = 1;
+ rev_trigger = 0;
+ date_trigger = 0;
+}
+
+/= == ===marker=== == =/ {
+ init_revisions = 0;
+ FS=";";
+ next;
+}
+
+init_revisions == 1 {
+ # print "XXX " $1, $2;
+ file_revs[$1] = $2;
+ next;
+}
+
+/^Working file:/ {
+ rev_trigger = 0;
+ if (match($0, "^Working file: (.*)$", f) > 0) {
+ if (f[1] in file_revs) {
+ revision = "revision " file_revs[f[1]];
+ rev_trigger = 1;
+ }
+ }
+ # print "FFF " f[1], revision, rev_trigger;
+ next;
+}
+
+rev_trigger == 1 && /^revision/ {
+ if (match($0, revision) > 0) {
+ # print "FOUND " revision, $0;
+ rev_trigger = 0;
+ date_trigger = 1;
+ }
+ next;
+}
+
+date_trigger == 1 {
+ if (match($1, "date: (.*)", d) > 0) {
+ print d[1];
+ }
+ date_trigger = 0;
+}
+
+{ next; }