From fe2a596b9b968b7df225d1c47246b25434c8d469 Mon Sep 17 00:00:00 2001 From: Dieter Hametner Date: Fri, 18 Jan 2008 00:07:45 +0100 Subject: Based CVS version calculation on checked out version of the single files. Some script enhancements. Works now even when no version detection is possible. --- buildutil/version-util.awk | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 buildutil/version-util.awk (limited to 'buildutil/version-util.awk') 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; } -- cgit v1.2.3