Abandon getting changeset revision number from svn keyword expansion

Subversion keyword expansion of $Rev:$ in  a file is hopeless as it is
impossible to  coordinate with  a release. Revert  to an  empty string
when it can't be discovered with svn info etc..

Further changes to the way verion and revision numbers are generated

Local builds from  source tar balls or the  two phase wsjtx-superbuild
no longer specify  any revision, just the version  number. Since these
sort  of builds  are  expected  to be  release  candidates or  release
versions the revision (svn changeset  number) is implicit from the svn
tag of the version.

Merged from wsjtx-1.4 branch.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4986 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville 2015-02-22 00:20:42 +00:00
parent ffb61eb28d
commit 8736e39643
5 changed files with 23 additions and 23 deletions

View File

@ -45,7 +45,7 @@ else (Subversion_FOUND AND EXISTS "${SOURCE_DIR}/.svn")
# write a file with the SVNVERSION define
file (WRITE "${OUTPUT_DIR}/svnversion.h.txt" "#define SVNVERSION r${MY_WC_LAST_CHANGED_REV}\n")
else (Subversion_FOUND AND EXISTS "${SOURCE_DIR}/.svn")
file (WRITE "${OUTPUT_DIR}/svnversion.h.txt" "#define SVNVERSION local\n")
file (WRITE "${OUTPUT_DIR}/svnversion.h.txt" "#define SVNVERSION\n")
endif (Subversion_FOUND AND EXISTS "${SOURCE_DIR}/.git")
endif (Subversion_FOUND AND EXISTS "${SOURCE_DIR}/.svn")

View File

@ -44,13 +44,7 @@ int main(int argc, char *argv[])
// Override programs executable basename as application name.
a.setApplicationName ("WSJT-X");
#if CMAKE_BUILD
a.setApplicationVersion (WSJTX_STRINGIZE (WSJTX_VERSION_MAJOR)
"." WSJTX_STRINGIZE (WSJTX_VERSION_MINOR)
"." WSJTX_STRINGIZE (WSJTX_VERSION_PATCH) " " + revision ());
#else
a.setApplicationVersion ("Not for Release");
#endif
a.setApplicationVersion (version ());
bool multiple {false};

View File

@ -77,7 +77,7 @@ MainWindow::MainWindow(bool multiple, QSettings * settings, QSharedMemory *shdme
unsigned downSampleFactor, QWidget *parent) :
QMainWindow(parent),
m_dataDir {QStandardPaths::writableLocation (QStandardPaths::DataLocation)},
m_revision {revision ("$Rev$")},
m_revision {revision ()},
m_multiple {multiple},
m_settings (settings),
ui(new Ui::MainWindow),
@ -3134,7 +3134,7 @@ void MainWindow::pskSetLocal ()
psk_Reporter->setLocalStation(
m_config.my_callsign ()
, m_config.my_grid ()
, antenna_description, "WSJT-X " + m_revision);
, antenna_description, program_title (m_revision));
}
void MainWindow::transmitDisplay (bool transmitting)

View File

@ -40,12 +40,7 @@ QString revision (QString const& svn_rev_string)
}
else if (!revision_from_svn.isEmpty ())
{
// fall back to revision in ths file, this is potentially
// wrong because svn only updates the id when this file is
// touched
//
// this case gets us a revision when someone builds from a
// source snapshot or copy
// fall back to revision passed in if any
result = revision_from_svn;
}
else
@ -61,23 +56,33 @@ QString revision (QString const& svn_rev_string)
#else
if (!revision_from_svn.isEmpty ())
{
// not CMake build so all we have is svn revision in this file
// not CMake build so all we have is revision passed
result = revision_from_svn;
}
#endif
if (result.isEmpty ())
{
result = "local"; // last resort fall back
}
return result.trimmed ();
}
QString version ()
{
#if defined (CMAKE_BUILD)
QString v {WSJTX_STRINGIZE (WSJTX_VERSION_MAJOR) "." WSJTX_STRINGIZE (WSJTX_VERSION_MINOR) "." WSJTX_STRINGIZE (WSJTX_VERSION_PATCH)};
# if defined (WSJTX_RC)
v += "-rc" WSJTX_STRINGIZE (WSJTX_RC);
# endif
#else
QString v {"Not for Release"};
#endif
return v;
}
QString program_title (QString const& revision)
{
QString id {QCoreApplication::applicationName ()};
#if defined (CMAKE_BUILD)
QString id {QCoreApplication::applicationName () + " v" WSJTX_STRINGIZE (WSJTX_VERSION_MAJOR) "." WSJTX_STRINGIZE (WSJTX_VERSION_MINOR) "." WSJTX_STRINGIZE (WSJTX_VERSION_PATCH)};
id += " v" + version ();
#else
QString id {"WSJT-X Not for Release"};
id += " Not for Release";
#endif
return id + " " + revision + " by K1JT";
}

View File

@ -4,6 +4,7 @@
#include <QString>
QString revision (QString const& svn_rev_string = QString {});
QString version ();
QString program_title (QString const& revision = QString {});
#endif