From d0401b04a4ed6a1684091a84bfd262b2b2cb560f Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Sun, 1 Nov 2015 17:08:38 -0500 Subject: build: Use `git describe` for version strings. When building in a git repo: - If HEAD corresponds to an annotated tag, (i.e. git_get_exact_tag() returns truthy) the current build is considered a "release" build: NVIM_VERSION_MEDIUM is directly assigned the tagged version name, and NVIM_VERSION_* defines are ignored. - If HEAD is not a tagged release, then NVIM_VERSION_MEDIUM is directly assigned the result of `git describe`. If git (or the repo) is not available: - The NVIM_VERSION_* defines are used to define NVIM_VERSION_MEDIUM. Sample outputs for `nvim --version` and `nvim +version`: Building with git @ non-tagged commit e66df14: NVIM v0.1.0-1-ge66df14 (compiled Nov 1 2015 19:10:30) Commit: e66df148f9401be17adab324a6e41d927aae20b3 Building with git @ v0.1.1 tag: NVIM v0.1.1 (compiled Nov 1 2015 19:03:52) [no "Commit:" line] Building this commit _not_ in a git repo: NVIM 0.1.0-dev (compiled Nov 1 2015 19:16:11) [no "Commit:" line] --- src/nvim/version.c | 15 ++++++++------- src/nvim/version.h | 1 - 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/nvim/version.c b/src/nvim/version.c index c8cbcf2439..5a0f7d524d 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -25,17 +25,18 @@ #define STR_(x) #x #define STR(x) STR_(x) -// for the startup-screen ( ":intro" command ) -#define NVIM_VERSION_MEDIUM STR(NVIM_VERSION_MAJOR) "." STR(NVIM_VERSION_MINOR) - -// for the ":version" command and "nvim --version" -#define NVIM_VERSION_LONG "NVIM " NVIM_VERSION_MEDIUM "." STR(NVIM_VERSION_PATCH) NVIM_VERSION_PRERELEASE NVIM_VERSION_BUILD +// for ":version", ":intro", and "nvim --version" +#ifndef NVIM_VERSION_MEDIUM +#define NVIM_VERSION_MEDIUM STR(NVIM_VERSION_MAJOR) "." STR(NVIM_VERSION_MINOR)\ + "." STR(NVIM_VERSION_PATCH) NVIM_VERSION_PRERELEASE +#endif +#define NVIM_VERSION_LONG "NVIM " NVIM_VERSION_MEDIUM char *Version = VIM_VERSION_SHORT; char *longVersion = NVIM_VERSION_LONG; -char *longVersionWithDate = NVIM_VERSION_LONG " (compiled " __DATE__ " " __TIME__ ")"; -char *mediumVersion = NVIM_VERSION_MEDIUM; +char *longVersionWithDate = NVIM_VERSION_LONG \ + " (compiled " __DATE__ " " __TIME__ ")"; #ifdef NVIM_VERSION_COMMIT char *version_commit = "Commit: " NVIM_VERSION_COMMIT; #endif diff --git a/src/nvim/version.h b/src/nvim/version.h index c1881250f1..1de809e539 100644 --- a/src/nvim/version.h +++ b/src/nvim/version.h @@ -3,7 +3,6 @@ // defined in version.c extern char* Version; -extern char* mediumVersion; extern char* longVersion; // -- cgit