summaryrefslogtreecommitdiff
path: root/client/utils/git.py
diff options
context:
space:
mode:
Diffstat (limited to 'client/utils/git.py')
-rw-r--r--client/utils/git.py31
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)