mirror of
https://github.com/neovim/neovim.git
synced 2025-10-02 16:08:36 +00:00
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]
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user