diff --git a/kallithea/lib/utils2.py b/kallithea/lib/utils2.py --- a/kallithea/lib/utils2.py +++ b/kallithea/lib/utils2.py @@ -36,6 +36,7 @@ import uuid import datetime import urllib import binascii +import pwd import webob import urlobject @@ -414,6 +415,10 @@ def credentials_filter(uri): def get_clone_url(clone_uri_tmpl, prefix_url, repo_name, repo_id, username=None): parsed_url = urlobject.URLObject(prefix_url) prefix = safe_unicode(urllib.unquote(parsed_url.path.rstrip('/'))) + try: + system_user = pwd.getpwuid(os.getuid()).pw_name + except Exception: # TODO: support all systems - especially Windows + system_user = 'kallithea' # hardcoded default value ... args = { 'scheme': parsed_url.scheme, 'user': safe_unicode(urllib.quote(safe_str(username or ''))), @@ -421,6 +426,8 @@ def get_clone_url(clone_uri_tmpl, prefix 'prefix': prefix, # undocumented, empty or starting with / 'repo': repo_name, 'repoid': str(repo_id), + 'system_user': safe_unicode(system_user), + 'hostname': parsed_url.hostname, } url = re.sub('{([^{}]+)}', lambda m: args.get(m.group(1), m.group(0)), clone_uri_tmpl) diff --git a/kallithea/templates/admin/settings/settings_visual.html b/kallithea/templates/admin/settings/settings_visual.html --- a/kallithea/templates/admin/settings/settings_visual.html +++ b/kallithea/templates/admin/settings/settings_visual.html @@ -46,7 +46,11 @@ ${h.form(url('admin_settings_visual'), m {user} current user username, {netloc} network location/server host of running Kallithea server, {repo} full repository name, - {repoid} ID of repository, can be used to construct clone-by-id''')} + {repoid} ID of repository, can be used to construct clone-by-id, + {system_user} name of the Kallithea system user, + {hostname} server hostname + ''')} +