annotate version.sh @ 28693:406b0b7a6dae

Read revision string from the file snapshot_version if available. This will be used by daily snapshots without Subversion metadata.
author diego
date Tue, 24 Feb 2009 23:15:26 +0000
parents bd49d53e0cdb
children 689a357fdb1b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
420
980bafac238f write cvs date+version into version.h
arpi_esp
parents:
diff changeset
1 #!/bin/sh
980bafac238f write cvs date+version into version.h
arpi_esp
parents:
diff changeset
2
18759
04ed79acda15 simplify
diego
parents: 18624
diff changeset
3 test "$1" && extra="-$1"
18595
c55903d85291 cosmetics
diego
parents: 18594
diff changeset
4
28693
406b0b7a6dae Read revision string from the file snapshot_version if available.
diego
parents: 28691
diff changeset
5 # Extract revision number from file used by daily tarball snapshots
406b0b7a6dae Read revision string from the file snapshot_version if available.
diego
parents: 28691
diff changeset
6 # or from the places different Subversion versions have it.
406b0b7a6dae Read revision string from the file snapshot_version if available.
diego
parents: 28691
diff changeset
7 svn_revision=$(cat snapshot_version 2> /dev/null)
406b0b7a6dae Read revision string from the file snapshot_version if available.
diego
parents: 28691
diff changeset
8 test $svn_revision || svn_revision=$(LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2)
28691
bd49d53e0cdb cosmetics: Use $() instead of ``, the former can be nested more easily.
diego
parents: 28350
diff changeset
9 test $svn_revision || svn_revision=$(grep revision .svn/entries 2>/dev/null | cut -d '"' -f2)
bd49d53e0cdb cosmetics: Use $() instead of ``, the former can be nested more easily.
diego
parents: 28350
diff changeset
10 test $svn_revision || svn_revision=$(sed -n -e '/^dir$/{n;p;q;}' .svn/entries 2>/dev/null)
18791
72e6908f0347 Produce correct version string even when not run in a Subversion working copy.
diego
parents: 18784
diff changeset
11 test $svn_revision || svn_revision=UNKNOWN
72e6908f0347 Produce correct version string even when not run in a Subversion working copy.
diego
parents: 18784
diff changeset
12
28332
7f31bbff8ddb Drop dev- prefix from printed version number, just SVN-rXXXXX is enough.
diego
parents: 28325
diff changeset
13 NEW_REVISION="#define VERSION \"SVN-r${svn_revision}${extra}\""
28691
bd49d53e0cdb cosmetics: Use $() instead of ``, the former can be nested more easily.
diego
parents: 28350
diff changeset
14 OLD_REVISION=$(cat version.h 2> /dev/null)
28350
0b879bbbb432 Use single quotes to avoid escaping double quotes in a string.
diego
parents: 28349
diff changeset
15 TITLE='#define MP_TITLE "%s "VERSION" (C) 2000-2009 MPlayer Team\n"'
18784
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
16
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
17 # Update version.h only on revision changes to avoid spurious rebuilds
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
18 if test "$NEW_REVISION" != "$OLD_REVISION"; then
28349
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
19 cat <<EOF > version.h
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
20 $NEW_REVISION
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
21 $TITLE
a42f319f25b3 Use cat instead of echo to generate version.h.
diego
parents: 28348
diff changeset
22 EOF
18784
b5777da79b53 Adapt FFmpeg version.sh that only recreates version.h if its content changed.
diego
parents: 18759
diff changeset
23 fi