diff options
Diffstat (limited to 'client/utils/git.py')
-rw-r--r-- | client/utils/git.py | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/client/utils/git.py b/client/utils/git.py index d380d7f..137e80d 100644 --- a/client/utils/git.py +++ b/client/utils/git.py @@ -40,6 +40,15 @@ class GitRepository(object): with TemporaryFile() as strout: call(['git', 'pull'], cwd=self._path, stdout=strout, stderr=STDOUT) + def current_branch(self): + 'returns current branch' + + with TemporaryFile() as strout: + call(['git', 'rev-parse', '--abbrev-ref', 'HEAD'], cwd=self._path, + stdout=strout, stderr=STDOUT) + strout.seek(0) + return strout.read().strip() + def current_commit(self): 'returns current commit hash' @@ -57,6 +66,7 @@ class GitRepository(object): else: self._clone() + log("current branch '%s'" % (self.current_branch(),)) log("current commit '%s'" % (self.current_commit(),)) def build_and_install(self, path, remove=True): @@ -81,8 +91,19 @@ class GitRepository(object): call(['make', '-s', '-j', str(cpu_count()), 'install'], cwd=self._path, stdout=strout, stderr=STDOUT) - # Install pgbench from contrib in the older versions - oldpgbenchdir = ''.join([self._path, '/', 'contrib/pgbench']) - if os.path.isdir(oldpgbenchdir): - call(['make', '-s', '-j', str(cpu_count()), 'install'], - cwd=oldpgbenchdir, stdout=strout, stderr=STDOUT) + # Various things needs to be installed because of various changes + # changes between releases. Take a systematic approach and check + # if the directory exist, then try to install it. + items = [ + 'src/bin/initdb', + 'src/bin/pg_ctl', + 'src/bin/scripts', + 'src/bin/psql', + 'src/bin/pgbench', + 'contrib/pgbench', + ] + for item in items: + srcdir = ''.join([self._path, '/', item]) + if os.path.isdir(srcdir): + call(['make', '-s', '-j', str(cpu_count()), 'install'], + cwd=srcdir, stdout=strout, stderr=STDOUT) |