[Buildbot-commits] [Buildbot] #1885: gitpoller.py fails in when FETCH_HEAD points to an unexpected branch

Buildbot nobody at buildbot.net
Tue Mar 15 19:34:24 UTC 2011


#1885: gitpoller.py fails in when FETCH_HEAD points to an unexpected branch
---------------------+--------------------
Reporter:  kostja    |       Owner:
    Type:  defect    |      Status:  new
Priority:  critical  |   Milestone:  0.8.4
 Version:  0.8.3p1   |  Resolution:
Keywords:  git       |
---------------------+--------------------
Changes (by dustin):

 * keywords:  git, change_source => git
 * priority:  major => critical
 * type:  undecided => defect
 * milestone:  undecided => 0.8.4


Old description:

> gitpoller.py still sometimes fails with this error:
> gitpoller: repo poll failed: [Failure instance: Traceback:
> exceptions.EnvironmentError: call '['log', 'HEAD..FETCH_HEAD',
>  '--format=%H']' exited with error '128', output: ''
>
> even though it was apparently fixed in 8.3-p1:
>
> http://comments.gmane.org/gmane.comp.python.buildbot.devel/6676
>
> The problem is, I suspect, in the fact that git fetch, without full
> branch specification, fetches all branches, but makes FETCH_HEAD point to
> the first branch *alphabetically*, and thus git log HEAD..FETCH_HEAD may
> return not what gitpoller.py expects.
>
> The problem is quite nasty, since Buildbot just stops making builds when
> the repo that is being watched receives some new unmerged branch.
>
> Right now I've installed gitpoller.py from the master, which has extended
> diagnostics, and will wait for the problem to re-occur.
>
> Note, that the bug goes away after a fresh install with the same
> configuration, *and* after cleaning up/renaming branches in the remote
> repo. The need for a fresh install comes, apparently, from the fact that
> gitpoller.py leaves corrupted/garbage repositories around in case of an
> exception (so please fix that too).

New description:

 gitpoller.py still sometimes fails with this error:
 {{{
 gitpoller: repo poll failed: [Failure instance: Traceback:
 exceptions.EnvironmentError: call '['log', 'HEAD..FETCH_HEAD',
  '--format=%H']' exited with error '128', output: ''
 }}}

 even though it was apparently fixed in 8.3-p1:

 http://comments.gmane.org/gmane.comp.python.buildbot.devel/6676

 The problem is, I suspect, in the fact that git fetch, without full branch
 specification, fetches all branches, but makes FETCH_HEAD point to the
 first branch *alphabetically*, and thus git log HEAD..FETCH_HEAD may
 return not what gitpoller.py expects.

 The problem is quite nasty, since Buildbot just stops making builds when
 the repo that is being watched receives some new unmerged branch.

 Right now I've installed gitpoller.py from the master, which has extended
 diagnostics, and will wait for the problem to re-occur.

 Note, that the bug goes away after a fresh install with the same
 configuration, *and* after cleaning up/renaming branches in the remote
 repo. The need for a fresh install comes, apparently, from the fact that
 gitpoller.py leaves corrupted/garbage repositories around in case of an
 exception (so please fix that too).

--

-- 
Ticket URL: <http://trac.buildbot.net/ticket/1885#comment:1>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the Commits mailing list