Ticket #1976 (closed defect: worksforme)

Opened 2 years ago

Last modified 2 years ago

Git build step fails after SVN step

Reported by: karl Owned by:
Priority: major Milestone: undecided
Version: 0.8.3p1 Keywords: svn git
Cc:

Description

I have a build factory which needs to update and deploy from both a SVN and Git repository. This works when I force a build, however, when a build is scheduled by a SVN update noticed by PBChangeSource, the Git step fails. Here is a fragment:

    instance = factory.BuildFactory()
    instance.addStep(
        SVN(svnurl='xxx',
            workdir='xxx',
            mode='clobber'))
    instance.addStep(Compile(workdir='xxx'))
    instance.addStep(
	Git(repourl='xxx_2',
            workdir='xxx_2'
            mode='clobber'))

When this is triggered by a SVN update, one of the commands run by the Git step is

/usr/bin/git reset --hard 4436

(or whatever SVN revision number triggered the build), which fails (since Git doesn't like the SVN revision number). This command isn't run for a forced build.

Slave is running buildbot-0.8.3p1.zip downloaded from code.google.com, master is running 0.8.3p1 as well.

Change History

comment:1 Changed 2 years ago by karl

The Git update isn't being triggered by a checkin here; I need a specific revision (HEAD in this case).

This is a workaround that lets Git work when triggered by SVN:

class GitHack(Git):
    def startVC(self, branch, revision, patch):
        return Git.startVC(self, branch, None, patch)

comment:2 Changed 2 years ago by dustin

  • Status changed from new to closed
  • Resolution set to worksforme

Source steps currently expect to the only such step in the factory, and expect information corresponding to their version control system. Your workaround is actually pretty elegant!

Note: See TracTickets for help on using tickets.