From fa064bf9cf2fe6e53baa7782b6eaa56ca921b340 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 1 Apr 2018 20:27:31 +0530 Subject: [PATCH] When kitty is built from a git checkout show the current revision in --debug-config --- kitty/cli.py | 10 +++++++--- kitty/data-types.c | 3 +++ setup.py | 4 ++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/kitty/cli.py b/kitty/cli.py index b5857562b..9ac725a43 100644 --- a/kitty/cli.py +++ b/kitty/cli.py @@ -245,8 +245,12 @@ def prettify(text): return text -def version(): - return '{} {} created by {}'.format(italic(appname), green(str_version), title('Kovid Goyal')) +def version(add_rev=False): + rev = '' + from . import fast_data_types + if add_rev and hasattr(fast_data_types, 'KITTY_VCS_REV'): + rev = ' ({})'.format(fast_data_types.KITTY_VCS_REV[:10]) + return '{} {}{} created by {}'.format(italic(appname), green(str_version), rev, title('Kovid Goyal')) def wrap(text, limit=80): @@ -547,7 +551,7 @@ def compare_opts(opts): def create_opts(args, debug_config=False): config = tuple(resolve_config(args.config)) if debug_config: - print(version()) + print(version(add_rev=True)) print(' '.join(os.uname())) if is_macos: print(' '.join(subprocess.check_output(['sw_vers']).decode('utf-8').splitlines()).strip()) diff --git a/kitty/data-types.c b/kitty/data-types.c index 5609fe074..a003d51a5 100644 --- a/kitty/data-types.c +++ b/kitty/data-types.c @@ -203,6 +203,9 @@ PyInit_fast_data_types(void) { PyModule_AddIntConstant(m, "STRIKETHROUGH", STRIKE_SHIFT); PyModule_AddIntConstant(m, "DECORATION", DECORATION_SHIFT); PyModule_AddStringMacro(m, ERROR_PREFIX); +#ifdef KITTY_VCS_REV + PyModule_AddStringMacro(m, KITTY_VCS_REV); +#endif PyModule_AddIntMacro(m, CURSOR_BLOCK); PyModule_AddIntMacro(m, CURSOR_BEAM); PyModule_AddIntMacro(m, CURSOR_UNDERLINE); diff --git a/setup.py b/setup.py index 12f2fdc94..7d547b63d 100755 --- a/setup.py +++ b/setup.py @@ -182,6 +182,10 @@ def init_env( cflags = shlex.split(cflags) + shlex.split( sysconfig.get_config_var('CCSHARED') ) + if os.path.exists('.git'): + head = open('.git/HEAD', 'r').read().split(':', 1)[-1].strip() + rev = open('.git/' + head).read().split(':', 1)[-1].strip() + cflags.append('-DKITTY_VCS_REV="{}"'.format(rev)) ldflags = os.environ.get( 'OVERRIDE_LDFLAGS', '-Wall ' + ' '.join(sanitize_args) + ('' if debug else ' -O3')