|
|
|
@ -210,61 +210,64 @@ class SynapseHomeServer(HomeServer): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_version_string(): |
|
|
|
|
null = open(os.devnull, 'w') |
|
|
|
|
cwd = os.path.dirname(os.path.abspath(__file__)) |
|
|
|
|
try: |
|
|
|
|
git_branch = subprocess.check_output( |
|
|
|
|
['git', 'rev-parse', '--abbrev-ref', 'HEAD'], |
|
|
|
|
stderr=null, |
|
|
|
|
cwd=cwd, |
|
|
|
|
).strip() |
|
|
|
|
git_branch = "b=" + git_branch |
|
|
|
|
except subprocess.CalledProcessError: |
|
|
|
|
git_branch = "" |
|
|
|
|
|
|
|
|
|
try: |
|
|
|
|
git_tag = subprocess.check_output( |
|
|
|
|
['git', 'describe', '--exact-match'], |
|
|
|
|
stderr=null, |
|
|
|
|
cwd=cwd, |
|
|
|
|
).strip() |
|
|
|
|
git_tag = "t=" + git_tag |
|
|
|
|
except subprocess.CalledProcessError: |
|
|
|
|
git_tag = "" |
|
|
|
|
|
|
|
|
|
try: |
|
|
|
|
git_commit = subprocess.check_output( |
|
|
|
|
['git', 'rev-parse', '--short', 'HEAD'], |
|
|
|
|
stderr=null, |
|
|
|
|
cwd=cwd, |
|
|
|
|
).strip() |
|
|
|
|
except subprocess.CalledProcessError: |
|
|
|
|
git_commit = "" |
|
|
|
|
|
|
|
|
|
try: |
|
|
|
|
dirty_string = "-this_is_a_dirty_checkout" |
|
|
|
|
is_dirty = subprocess.check_output( |
|
|
|
|
['git', 'describe', '--dirty=' + dirty_string], |
|
|
|
|
stderr=null, |
|
|
|
|
cwd=cwd, |
|
|
|
|
).strip().endswith(dirty_string) |
|
|
|
|
|
|
|
|
|
git_dirty = "dirty" if is_dirty else "" |
|
|
|
|
except subprocess.CalledProcessError: |
|
|
|
|
git_dirty = "" |
|
|
|
|
|
|
|
|
|
if git_branch or git_tag or git_commit or git_dirty: |
|
|
|
|
git_version = ",".join( |
|
|
|
|
s for s in |
|
|
|
|
(git_branch, git_tag, git_commit, git_dirty,) |
|
|
|
|
if s |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
|
"Synapse/%s (%s)" % ( |
|
|
|
|
synapse.__version__, git_version, |
|
|
|
|
null = open(os.devnull, 'w') |
|
|
|
|
cwd = os.path.dirname(os.path.abspath(__file__)) |
|
|
|
|
try: |
|
|
|
|
git_branch = subprocess.check_output( |
|
|
|
|
['git', 'rev-parse', '--abbrev-ref', 'HEAD'], |
|
|
|
|
stderr=null, |
|
|
|
|
cwd=cwd, |
|
|
|
|
).strip() |
|
|
|
|
git_branch = "b=" + git_branch |
|
|
|
|
except subprocess.CalledProcessError: |
|
|
|
|
git_branch = "" |
|
|
|
|
|
|
|
|
|
try: |
|
|
|
|
git_tag = subprocess.check_output( |
|
|
|
|
['git', 'describe', '--exact-match'], |
|
|
|
|
stderr=null, |
|
|
|
|
cwd=cwd, |
|
|
|
|
).strip() |
|
|
|
|
git_tag = "t=" + git_tag |
|
|
|
|
except subprocess.CalledProcessError: |
|
|
|
|
git_tag = "" |
|
|
|
|
|
|
|
|
|
try: |
|
|
|
|
git_commit = subprocess.check_output( |
|
|
|
|
['git', 'rev-parse', '--short', 'HEAD'], |
|
|
|
|
stderr=null, |
|
|
|
|
cwd=cwd, |
|
|
|
|
).strip() |
|
|
|
|
except subprocess.CalledProcessError: |
|
|
|
|
git_commit = "" |
|
|
|
|
|
|
|
|
|
try: |
|
|
|
|
dirty_string = "-this_is_a_dirty_checkout" |
|
|
|
|
is_dirty = subprocess.check_output( |
|
|
|
|
['git', 'describe', '--dirty=' + dirty_string], |
|
|
|
|
stderr=null, |
|
|
|
|
cwd=cwd, |
|
|
|
|
).strip().endswith(dirty_string) |
|
|
|
|
|
|
|
|
|
git_dirty = "dirty" if is_dirty else "" |
|
|
|
|
except subprocess.CalledProcessError: |
|
|
|
|
git_dirty = "" |
|
|
|
|
|
|
|
|
|
if git_branch or git_tag or git_commit or git_dirty: |
|
|
|
|
git_version = ",".join( |
|
|
|
|
s for s in |
|
|
|
|
(git_branch, git_tag, git_commit, git_dirty,) |
|
|
|
|
if s |
|
|
|
|
) |
|
|
|
|
).encode("ascii") |
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
|
"Synapse/%s (%s)" % ( |
|
|
|
|
synapse.__version__, git_version, |
|
|
|
|
) |
|
|
|
|
).encode("ascii") |
|
|
|
|
except Exception as e: |
|
|
|
|
logger.warn("Failed to check for git repository: %s", e) |
|
|
|
|
|
|
|
|
|
return ("Synapse/%s" % (synapse.__version__,)).encode("ascii") |
|
|
|
|
|
|
|
|
|