Thread Warnung bei sprintf vermeiden wenn zu wenig Argumente (11 answers)
Opened by GwenDragon at 2018-03-30 10:57

rosti
 2018-04-02 11:58
#188219 #188219
User since
2011-03-19
3180 Artikel
BenutzerIn
[Homepage]
user image
2018-04-02T09:49:27 GwenDragon
Mag 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:

Code: (dl )
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

View full thread Warnung bei sprintf vermeiden wenn zu wenig Argumente