From 740728ef7dbc108fe15f4ba7ff70dbe5bbf676df Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Fri, 7 Jan 2011 11:06:37 -0600 Subject: [PATCH] don't clear out $PATH when launching git; add logging --- master/buildbot/changes/gitpoller.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/master/buildbot/changes/gitpoller.py b/master/buildbot/changes/gitpoller.py index b8eebb7875f..326d742799d 100644 --- a/master/buildbot/changes/gitpoller.py +++ b/master/buildbot/changes/gitpoller.py @@ -83,7 +83,7 @@ def make_dir(_): def git_init(_): log.msg('gitpoller: initializing working dir from %s' % self.repourl) d = utils.getProcessOutputAndValue(self.gitbin, - ['init', self.workdir], env={}) + ['init', self.workdir], env=dict(PATH=os.environ['PATH'])) d.addCallback(self._convert_nonzero_to_failure) d.addErrback(self._stop_on_failure) return d @@ -92,7 +92,7 @@ def git_init(_): def git_remote_add(_): d = utils.getProcessOutputAndValue(self.gitbin, ['remote', 'add', 'origin', self.repourl], - path=self.workdir, env={}) + path=self.workdir, env=dict(PATH=os.environ['PATH'])) d.addCallback(self._convert_nonzero_to_failure) d.addErrback(self._stop_on_failure) return d @@ -101,7 +101,7 @@ def git_remote_add(_): def git_fetch_origin(_): d = utils.getProcessOutputAndValue(self.gitbin, ['fetch', 'origin'], - path=self.workdir, env={}) + path=self.workdir, env=dict(PATH=os.environ['PATH'])) d.addCallback(self._convert_nonzero_to_failure) d.addErrback(self._stop_on_failure) return d @@ -112,15 +112,18 @@ def set_master(_): if self.branch == 'master': # repo is already on branch 'master', so reset d = utils.getProcessOutputAndValue(self.gitbin, ['reset', '--hard', 'origin/%s' % self.branch], - path=self.workdir, env={}) + path=self.workdir, env=dict(PATH=os.environ['PATH'])) else: d = utils.getProcessOutputAndValue(self.gitbin, ['checkout', '-b', self.branch, 'origin/%s' % self.branch], - path=self.workdir, env={}) + path=self.workdir, env=dict(PATH=os.environ['PATH'])) d.addCallback(self._convert_nonzero_to_failure) d.addErrback(self._stop_on_failure) return d d.addCallback(set_master) + def log_finished(_): + log.msg("gitpoller: finished initializing working dir from %s" % self.repourl) + d.addCallback(log_finished) return d def describe(self): @@ -142,7 +145,7 @@ def poll(self): def _get_commit_comments(self, rev): args = ['log', rev, '--no-walk', r'--format=%s%n%b'] - d = utils.getProcessOutput(self.gitbin, args, path=self.workdir, env={}, errortoo=False ) + d = utils.getProcessOutput(self.gitbin, args, path=self.workdir, env=dict(PATH=os.environ['PATH']), errortoo=False ) def process(git_output): stripped_output = git_output.strip() if len(stripped_output) == 0: @@ -154,7 +157,7 @@ def process(git_output): def _get_commit_timestamp(self, rev): # unix timestamp args = ['log', rev, '--no-walk', r'--format=%ct'] - d = utils.getProcessOutput(self.gitbin, args, path=self.workdir, env={}, errortoo=False ) + d = utils.getProcessOutput(self.gitbin, args, path=self.workdir, env=dict(PATH=os.environ['PATH']), errortoo=False ) def process(git_output): stripped_output = git_output.strip() if self.usetimestamps: @@ -171,7 +174,7 @@ def process(git_output): def _get_commit_files(self, rev): args = ['log', rev, '--name-only', '--no-walk', r'--format=%n'] - d = utils.getProcessOutput(self.gitbin, args, path=self.workdir, env={}, errortoo=False ) + d = utils.getProcessOutput(self.gitbin, args, path=self.workdir, env=dict(PATH=os.environ['PATH']), errortoo=False ) def process(git_output): fileList = git_output.split() return fileList @@ -180,7 +183,7 @@ def process(git_output): def _get_commit_name(self, rev): args = ['log', rev, '--no-walk', r'--format=%aE'] - d = utils.getProcessOutput(self.gitbin, args, path=self.workdir, env={}, errortoo=False ) + d = utils.getProcessOutput(self.gitbin, args, path=self.workdir, env=dict(PATH=os.environ['PATH']), errortoo=False ) def process(git_output): stripped_output = git_output.strip() if len(stripped_output) == 0: @@ -200,7 +203,7 @@ def _get_changes(self): # about the stderr or stdout from this command. We set errortoo=True to # avoid an errback from the deferred. The callback which will be added to this # deferred will not use the response. - d = utils.getProcessOutput(self.gitbin, args, path=self.workdir, env={}, errortoo=True ) + d = utils.getProcessOutput(self.gitbin, args, path=self.workdir, env=dict(PATH=os.environ['PATH']), errortoo=True ) return d @@ -210,7 +213,7 @@ def _process_changes(self, unused_output): revListArgs = ['log', 'HEAD..FETCH_HEAD', r'--format=%H'] self.changeCount = 0 d = utils.getProcessOutput(self.gitbin, revListArgs, path=self.workdir, - env={}, errortoo=False ) + env=dict(PATH=os.environ['PATH']), errortoo=False ) wfd = defer.waitForDeferred(d) yield wfd results = wfd.getResult() @@ -271,7 +274,7 @@ def _catch_up(self, res): return log.msg('gitpoller: catching up to FETCH_HEAD') args = ['reset', '--hard', 'FETCH_HEAD'] - d = utils.getProcessOutputAndValue(self.gitbin, args, path=self.workdir, env={}) + d = utils.getProcessOutputAndValue(self.gitbin, args, path=self.workdir, env=dict(PATH=os.environ['PATH'])) d.addCallback(self._convert_nonzero_to_failure) return d