2018-04-02T09:49:27
GwenDragonMag ja sein, aber wo ist jetzt bei dir die physikalische Versionsnummer?
Die wird automatisch beim ci (checkin) geparst. Also die dem Wort Revision folgende Nummer.
Siehe:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
RCS - Revision Control System dient in erster Linie dazu Versionen von Dateien auf UNIX/LINUX Systemen zu verwalten. Füge im Script die folgende Zeile ein:
my $VERSION = do { my @r = (q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
Nach einem Checkin (ci -l scriptname) und Checkout (co -l scriptname) wird sich diese Zeile ändern z.B. wie folgt:
my $VERSION = do { my @r = (q$Revision: 1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
Bei jedem nun folgenden Checkin und Checkout ändert sich diese Zeile automatisch. Dabei ist 1.1 die *Initialversion* welche vom RCS hochgezählt wird:
my $VERSION = do { my @r = (q$Revision: 1.2 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
Auf die Variable $VERSION kann dann im Script zugegriffen werden. Angezeigt wird eine Version 1.2 als Version 1.02 (aufgrund der Formatierung).
Ergänzung:
# $Id$
# $Log$
sind weitere für RCS wichtige Variablen die vor dem ersten Checkin angelegt werden sollten.
Hierin stehen für das RCS weitere Informationen like this:
# RCS
# $Id: umg.cgi,v 1.4 2003/02/25 12:25:26 root Exp root $
# $Log: umg.cgi,v $
# Revision 1.4 2003/02/25 12:25:26 root
# Versionsinfo eingebaut.
#
# Revision 1.3 2003/02/25 12:20:22 root
Version eines Moduls anzeigen:
perl -e "use CGI; print $CGI::VERSION"
MfG