[Buildbot-commits] [Buildbot] #2552: Buildbot fails to init Git submodules on relative paths in .gitmodules

Buildbot trac trac at buildbot.net
Wed Aug 21 18:07:11 UTC 2013


#2552: Buildbot fails to init Git submodules on relative paths in .gitmodules
----------------------+-----------------------
Reporter:  krf        |      Owner:
    Type:  undecided  |     Status:  new
Priority:  major      |  Milestone:  undecided
 Version:  0.8.7p1    |   Keywords:
----------------------+-----------------------
 Example:

 Configure buildbot.steps.source.Git to download the repository for Qt
 Creator, URL: git://gitorious.org/qt-creator/qt-creator.git.
 Qt Creator has a submodule called 'qbs', configured to be pulled from
 '../../qt-labs/qbs.git'.

 Behavior:

 The source step will download the repository data via:

 {{{
 /usr/bin/git fetch -t git://gitorious.org/qt-creator/qt-creator.git
 +master --progress
 (...)
 }}}


 Then tries to init submodules via:

 {{{
 /usr/bin/git submodule init
 }}}


 Problem:

 This fails in case there are relative paths inside .gitmodules. The paths
 are relative to the superproject's origin but Buildbot's Git step '''does
 not''' set the remote's origin, hence it will fall-back to the local
 project root in the file system.

 Also see: http://git-scm.com/docs/git-submodule, cite from 'git submodule
 add':

 ''"<repository> is the URL of the new submodule's origin repository. This
 may be either an absolute URL, or (if it begins with ./ or ../), the
 location relative to the superproject's origin repository"''

 Error output:

 {{{
 Submodule 'qbs' (/home/build/Buildbot/qt-labs/qbs.git) registered for path
 'src/shared/qbs'
 }}}


 (Git now actually tries to clone from a local path instead of a remote,
 because ''remote.origin.url'' is missing)

 Proposed fix:

 Set ''remote.origin.url'' during the checkout, before fetching the
 submodules?

-- 
Ticket URL: <http://trac.buildbot.net/ticket/2552>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the Commits mailing list