Deprecate SDL_GetRevisionNumber and update things for git instead of hg.
Fixes #4063
diff --git a/build-scripts/update-copyright.sh b/build-scripts/update-copyright.sh
index 5955b09..ea1f798 100755
--- a/build-scripts/update-copyright.sh
+++ b/build-scripts/update-copyright.sh
@@ -1,7 +1,7 @@
#!/bin/sh
find . -type f -exec grep -Il "Copyright" {} \; \
-| grep -v \.hg \
+| grep -v \.git \
| while read file; \
do \
LC_ALL=C sed -b -i "s/\(.*Copyright.*\)[0-9]\{4\}\( *Sam Lantinga\)/\1`date +%Y`\2/" "$file"; \
diff --git a/configure b/configure
index 8b1c1c2..0b3079c 100755
--- a/configure
+++ b/configure
@@ -16000,9 +16000,9 @@
if test x$srcdir != x.; then
INCLUDE="-Iinclude $INCLUDE"
-elif test -d .hg; then
+elif test -d .git; then
as_fn_error $? "
-*** When building from Mercurial you should configure and build in a
+*** When building from a git clone you should configure and build in a
separate directory so you don't clobber SDL_config.h, SDL_revision.h
" "$LINENO" 5
fi
diff --git a/configure.ac b/configure.ac
index 7d119ad..950a488 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,9 +82,9 @@
if test x$srcdir != x.; then
INCLUDE="-Iinclude $INCLUDE"
-elif test -d .hg; then
+elif test -d .git; then
AC_MSG_ERROR([
-*** When building from Mercurial you should configure and build in a
+*** When building from a git clone you should configure and build in a
separate directory so you don't clobber SDL_config.h, SDL_revision.h
])
fi
diff --git a/docs/README-hg.md b/docs/README-hg.md
index 6562bcb..4e35683 100644
--- a/docs/README-hg.md
+++ b/docs/README-hg.md
@@ -1,6 +1,4 @@
-We are no longer hosted in Mercurial. The official repo is now:
-
- https://github.com/libsdl-org/SDL
+We are no longer hosted in Mercurial. Please see README-git.md for details.
Thanks!
diff --git a/docs/README-linux.md b/docs/README-linux.md
index c3685fb..3136851 100644
--- a/docs/README-linux.md
+++ b/docs/README-linux.md
@@ -15,7 +15,7 @@
Ubuntu 20.04, all available features enabled:
-sudo apt-get install build-essential mercurial make cmake autoconf automake \
+sudo apt-get install build-essential git make cmake autoconf automake \
libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev \
libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev \
libxss-dev libgl1-mesa-dev libdbus-1-dev libudev-dev libgles2-mesa-dev \
diff --git a/docs/README.md b/docs/README.md
index 7e2c151..68071ef 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -35,7 +35,7 @@
- [DynAPI](README-dynapi.md)
- [Emscripten](README-emscripten.md)
- [Gesture](README-gesture.md)
-- [Mercurial](README-hg.md)
+- [Git](README-git.md)
- [iOS](README-ios.md)
- [Linux](README-linux.md)
- [OS X](README-macosx.md)
diff --git a/include/SDL_version.h b/include/SDL_version.h
index a2b63e1..a78ac72 100644
--- a/include/SDL_version.h
+++ b/include/SDL_version.h
@@ -142,13 +142,15 @@
extern DECLSPEC const char *SDLCALL SDL_GetRevision(void);
/**
- * \brief Get the revision number of SDL that is linked against your program.
+ * \brief Obsolete function, do not use.
*
- * Returns a number uniquely identifying the exact revision of the SDL
- * library in use. It is an incrementing number based on commits to
- * hg.libsdl.org.
+ * When SDL was hosted in a Mercurial repository, and was built carefully,
+ * this would return the revision number that the build was created from.
+ * This number was not reliable for several reasons, but more importantly,
+ * SDL is now hosted in a git repository, which does not offer numbers at
+ * all, only hashes. This function only ever returns zero now. Don't use it.
*/
-extern DECLSPEC int SDLCALL SDL_GetRevisionNumber(void);
+extern SDL_DEPRECATED DECLSPEC int SDLCALL SDL_GetRevisionNumber(void);
/* Ends C function definitions when using C++ */
diff --git a/src/SDL.c b/src/SDL.c
index cf6d7d7..124acee 100644
--- a/src/SDL.c
+++ b/src/SDL.c
@@ -468,7 +468,7 @@
int
SDL_GetRevisionNumber(void)
{
- return SDL_REVISION_NUMBER;
+ return 0; /* doesn't make sense without Mercurial. */
}
/* Get the name of the platform */
diff --git a/src/dynapi/gendynapi.pl b/src/dynapi/gendynapi.pl
index 42a5ece..beb4a35 100755
--- a/src/dynapi/gendynapi.pl
+++ b/src/dynapi/gendynapi.pl
@@ -21,7 +21,7 @@
# WHAT IS THIS?
# When you add a public API to SDL, please run this script, make sure the
-# output looks sane (hg diff, it adds to existing files), and commit it.
+# output looks sane (git diff, it adds to existing files), and commit it.
# It keeps the dynamic API jump table operating correctly.
# If you wanted this to be readable, you shouldn't have used perl.
diff --git a/test/testautomation_platform.c b/test/testautomation_platform.c
index 7cc732a..d4a68ca 100644
--- a/test/testautomation_platform.c
+++ b/test/testautomation_platform.c
@@ -141,9 +141,6 @@
SDLTest_AssertPass("SDL_GetRevision()");
SDLTest_AssertCheck(revision != NULL, "SDL_GetRevision() != NULL");
- ret = SDL_GetRevisionNumber();
- SDLTest_AssertPass("SDL_GetRevisionNumber()");
-
return TEST_COMPLETED;
}
diff --git a/test/testver.c b/test/testver.c
index d8c937e..b31363c 100644
--- a/test/testver.c
+++ b/test/testver.c
@@ -35,13 +35,13 @@
SDL_Log("Compiled with SDL older than 2.0\n");
#endif
SDL_VERSION(&compiled);
- SDL_Log("Compiled version: %d.%d.%d.%d (%s)\n",
+ SDL_Log("Compiled version: %d.%d.%d (%s)\n",
compiled.major, compiled.minor, compiled.patch,
- SDL_REVISION_NUMBER, SDL_REVISION);
+ SDL_REVISION);
SDL_GetVersion(&linked);
- SDL_Log("Linked version: %d.%d.%d.%d (%s)\n",
+ SDL_Log("Linked version: %d.%d.%d (%s)\n",
linked.major, linked.minor, linked.patch,
- SDL_GetRevisionNumber(), SDL_GetRevision());
+ SDL_GetRevision());
SDL_Quit();
return (0);
}