Skip to content

Commit d410909

Browse files
committed
Ditching the idea of having unique version numbers for every commit.
1 parent a6d5591 commit d410909

File tree

5 files changed

+126
-30
lines changed

5 files changed

+126
-30
lines changed

README.md

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,7 @@ This document is still a work in progress. While the POV-Ray project itself
88
has existed for more than 20 years, this is the first time we have done a
99
release on github, so please bear with us - it's a little bare at the moment.
1010

11-
Please also be aware that we are in the process of actually doing the 3.7
12-
release right now, and this document may refer to things that have not happened
13-
yet on the main website (e.g. the release of the binaries, updating of pages,
14-
and so forth).
15-
16-
Last edit: 2013-11-06
11+
Last edit: 2016-09-30
1712

1813
License
1914
--------------------------------------
@@ -37,35 +32,36 @@ Bug Reports
3732

3833
It's generally a good idea to mention a bug in the forums prior to lodging a formal
3934
report; this can save you some time if it's a non-bug or a solution is known. You
40-
should also check our bug tracker at http://bugs.povray.org/ first to see if it's
41-
been reported.
42-
43-
If you're sure something is a bug then please do lodge a bugreport on the tracker.
44-
While we are aware that github has its own tracker, please keep in mind that POV-Ray
45-
is a long-established project (more than 20 years) and we prefer to use our own tracker.
46-
We do not do our primary develoment on github (at least, not at this point). Our RCS
47-
for the past 15 or so years has been Perforce. We will be pulling patches from here
48-
into perforce, and pushing changes out to github from time to time. At some point we
49-
will switch to using Perforce's Git Fusion product and this process will become
50-
automatic.
35+
should also first check the [known issues](https://github.com/POV-Ray/povray/issues)
36+
to see if it has been reported already.
37+
38+
If you're sure something is a bug then please do lodge a bug report on the GitHub issues tracker.
5139

5240
Official Binaries
5341
--------------------------------------
5442

55-
At this point in time, the only platform for which the project distributes pre-
56-
built 'official' (i.e. supported) binaries is Microsoft Windows. These may be
43+
At this point in time, the only platform for which the project distributes pre-built
44+
'official' (i.e. supported) binaries is Microsoft Windows. These may be
5745
obtained via http://www.povray.org/download/. We do intend to provide Mac OS X
5846
binaries shortly, but these will be console-mode only (based on the unix build).
5947

6048
Building POV-Ray
6149
--------------------------------------
6250

63-
At this point in time we recommend building from the 3.7-stable branch. POV-Ray
64-
should compile on any POSIX-compliant system with the required tools (please see
51+
At this point in time we generally recommend building from the latest version of the
52+
[3.7-stable branch](https://github.com/POV-Ray/povray/tree/3.7-stable). Alternatively,
53+
you may want to opt for a recent [tagged version](https://github.com/POV-Ray/povray/tags)
54+
to test-drive features that have been added since the last stable release.
55+
56+
_Please do not build directly from the master branch_ (or any other non-stable branch
57+
for that matter), as versions from that branch may report ambiguous version numbers,
58+
making it difficult to obtain version-specific support or report bugs in a useful manner.
59+
60+
POV-Ray should compile on any POSIX-compliant system with the required tools (please see
6561
[unix/README.md](unix/README.md) for build instructions),
6662
on Microsoft Windows systems that have Visual Studio 2010 or later installed (targeting
6763
XP or later, both 32 and 64-bit - be sure to see README.HTML in the windows source dir,
68-
otherwise your build *will not work*), and also on Mac systems (console mode only, using
64+
otherwise your build _will not work_), and also on Mac systems (console mode only, using
6965
an appropriately-modified version of the unix build - not currently provided by us).
7066

7167
If you are using an operating system with a package or ports system such as
@@ -94,7 +90,7 @@ Putting it another way: we consider getting a cross-platform IDE a high priority
9490
POV-Ray does not currently have its own 3d modelling application (at least, not one
9591
in a usable state). We do own the rights to the Moray modeller, which was formerly
9692
commercial, but it needs a little work to get it working with v3.7. It is also
97-
windows only (due to its use of MFC). Nevertheless we will be adding the source
93+
Windows only (due to its use of MFC). Nevertheless we will be adding the source
9894
to the repository at a future date.
9995

10096
Authors of open-source modellers with a compatible licence wishing to directly

appveyor.yml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ pull_requests:
33
do_not_increment_build_number: true
44
branches:
55
except:
6-
- /v[0-9]/
76
- coverity_scan
8-
skip_tags: true
97

108
image: Visual Studio 2015
119

@@ -54,15 +52,28 @@ build:
5452

5553
after_build:
5654
- ps: |
57-
$env:pov_exe_version = (Get-Content unix\VERSION)
55+
$version_h = 'source/base/version.h'
56+
$regexp = '^\s*#define\s+OFFICIAL_VERSION_STRING\s*"[^"]+"\s*$'
57+
$line = ( select-string -Path $version_h -Pattern $regexp | % { $_.Matches } | % { $_.Value } )
58+
$string = ( select-string -InputObject $line -Pattern '"[^"]+"' | % { $_.Matches } | % { $_.Value } )
59+
$official_version = ( select-string -InputObject $string -Pattern '[^"]+' | % { $_.Matches } | % { $_.Value } )
60+
$regexp = '^\s*#define\s+POV_RAY_PRERELEASE\s*"[^"]+"\s*$'
61+
$line = ( select-string -Path $version_h -Pattern $regexp | % { $_.Matches } | % { $_.Value } )
62+
$string = ( select-string -InputObject $line -Pattern '"[^"]+"' | % { $_.Matches } | % { $_.Value } )
63+
$prerelease = ( select-string -InputObject $string -Pattern '[^"]+' | % { $_.Matches } | % { $_.Value } )
64+
if ($prerelease) {
65+
$env:pov_exe_version = $official_version + '-' + $prerelease
66+
} else {
67+
$env:pov_exe_version = $official_version
68+
}
5869
$env:pov_tag_version = 'v' + $env:pov_exe_version
5970
$env:pov_build_version = $env:pov_tag_version + '+av' + $env:APPVEYOR_BUILD_NUMBER
6071
$env:pov_build_message = ''
61-
if ($env:pov_exe_version -match '^[0-9.]*-x') {
72+
if ($prerelease -match '^x') {
6273
$env:pov_build_type = 'Experimental'
6374
$env:pov_build_message += '**EXPERIMENTAL: This version of POV-Ray is not part of the official development branch!**'
6475
$env:pov_build_message += "`n`n"
65-
} elseif ($env:pov_exe_version -match '^[0-9.]*-') {
76+
} elseif ($prerelease) {
6677
$env:pov_build_type = 'Development'
6778
} else {
6879
$env:pov_build_type = 'Automated'
@@ -99,3 +110,5 @@ deploy:
99110
secure: WkcFPXyr/SJ9TXixTQyivhfoR9FzlryIbc4deHeQ0eA6YRXL0wQopMYJ6XL1/FJK
100111
draft: true
101112
prerelease: true
113+
on:
114+
appveyor_repo_tag: true

source/base/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
#define OFFICIAL_VERSION_STRING "3.7.1"
4646
#define OFFICIAL_VERSION_NUMBER 371
4747

48-
#define POV_RAY_PRERELEASE "alpha.8803356"
48+
#define POV_RAY_PRERELEASE "alpha"
4949

5050
#if (POV_RAY_IS_AUTOBUILD == 1) && ((POV_RAY_IS_OFFICIAL == 1) || (POV_RAY_IS_SEMI_OFFICIAL == 1))
5151
#ifdef POV_RAY_PRERELEASE

tools/git/create-tag.sh

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#!/bin/sh
2+
3+
# Run this script to tag the current revision (intended to trigger a development build).
4+
5+
tab=`echo -e '\t'`
6+
nl='
7+
'
8+
9+
########################################################################################################################
10+
#
11+
# Workarounds for quirks of particular runtime environments.
12+
13+
# A single sed expression to fix line endings, passed to sed via the '-e' option as the last expression to process.
14+
# By default, this is a no-op expression.
15+
sed_newline_fix=''
16+
17+
# A function to fix quirky behaviour of 'sed -i', called with a list of all files previously processed by 'sed -i'.
18+
# By default, this is a no-op function.
19+
sed_i_fix() { : ; }
20+
21+
case "$(uname -s)" in
22+
23+
Darwin)
24+
echo 'Running on Mac OS X'
25+
# no known quirks to work around
26+
;;
27+
28+
Linux)
29+
echo 'Running on Linux'
30+
# no known quirks to work around
31+
;;
32+
33+
CYGWIN*|MINGW32*|MSYS*)
34+
echo 'Running on MS Windows'
35+
# 'sed' output has LF line endings, but we want CR+LF for consistency.
36+
sed_newline_fix='s/$/\r/g'
37+
# 'sed -i' sets the edited file to read-only.
38+
sed_i_fix() { chmod u+w "$@" ; }
39+
;;
40+
41+
*)
42+
echo 'Running on unidentified OS'
43+
# no known quirks to work around
44+
;;
45+
46+
esac
47+
48+
########################################################################################################################
49+
#
50+
# Update prerelease id (trailing numeric portion).
51+
# We're setting the prerelease id to the number of minutes since 2000-01-01 00:00.
52+
53+
if [ -f source/base/version.h ]
54+
then
55+
versionfile=source/base/version.h
56+
else
57+
versionfile=source/backend/povray.h
58+
fi
59+
60+
ver_povray_h=`sed -n 's/#define [ ]*OFFICIAL_VERSION_STRING [ ]*"\([0-9]*\.[0-9]*\.[0-9]*\)"/\1/p' "$versionfile"`
61+
ver_povray_h_int=`sed -n 's/#define [ ]*OFFICIAL_VERSION_NUMBER [ ]*\([0-9]*\)/\1/p' "$versionfile"`
62+
ver_povray_h_hex=`sed -n 's/#define [ ]*OFFICIAL_VERSION_NUMBER_HEX [ ]*\(0x[0]*[0-9]*\)/\1/p' "$versionfile"`
63+
prerelease_povray_h=`sed -n 's/^.*#define [ ]*POV_RAY_PRERELEASE [ ]*"\([^"]*\)".*$/\1/p' "$versionfile"`
64+
65+
if [ x"$prerelease_povray_h" = x"" ]
66+
then
67+
echo "Identified as final release '$ver_povray_h'."
68+
tag="v$ver_povray_h"
69+
else
70+
echo "Identified as pre-release '$ver_povray_h-$prerelease_povray_h'."
71+
if ! echo $prerelease_povray_h | grep -e '[0-9][0-9]$' >/dev/null
72+
then
73+
echo "Pre-release looks suspiciously non-unique; please tag manually!"
74+
exit 1
75+
fi
76+
tag="v$ver_povray_h-$prerelease_povray_h"
77+
fi
78+
79+
echo "Tagging as '$tag'."
80+
81+
git tag "$tag"
82+
83+
########################################################################################################################
84+
#
85+
# Done.
86+
87+
exit 0

unix/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.7.1-alpha.8803356
1+
3.7.1-alpha

0 commit comments

Comments
 (0)