Assertion error when changing checkout method for submodules
Closed this issue · 1 comments
kilian-gebhardt commented
Originally I had a recipe, where I would initialize and checkout submodules in the checkoutScript
:
checkoutSCM:
scm: git
url: git://repo/git/foo/bar.git
checkoutScript: |
git submodule init && git submodule update
I replaced the checkoutScript
part by setting submodules: True
under checkoutSCM
. When rebuilding the package I obtain the error:
.....
[ 2] SWITCH foo::bar - dev/src/foo/bar/1/workspace/bar
....
An internal Exception has occured. This should not have happenend.
Please open an issue at https://github.com/BobBuildTool/bob with the following backtrace:
Bob version 0.19.2
Traceback (most recent call last):
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/scripts.py", line 147, in catchErrors
ret = fun(*args, **kwargs)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/scripts.py", line 248, in cmd
ret = cmd(args.args, bobRoot)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/scripts.py", line 29, in __develop
doDevelop(*args, **kwargs)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/cmds/build/build.py", line 313, in doDevelop
commonBuildDevelop(parser, argv, bobRoot, True)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/cmds/build/build.py", line 263, in commonBuildDevelop
builder.cook(backlog, True if args.build_mode == 'checkout-only' else False)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/cmds/build/builder.py", line 828, in cook
raise self.__buildErrors[0]
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/cmds/build/builder.py", line 722, in __taskWrapper
ret = await coro()
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/cmds/build/builder.py", line 882, in _cookStep
await self._cookCheckoutStep(step, depth)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/cmds/build/builder.py", line 1012, in _cookCheckoutStep
scmPath, scmMap[scmDir], scmSpec)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/cmds/build/builder.py", line 1791, in __runScmSwitch
ret = await invoker.executeScmSwitch(scm, oldSpec)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/invoker.py", line 515, in executeScmSwitch
await scm.switch(self, oldSpec)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/scm/git.py", line 376, in switch
await self.invoke(invoker, True)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/scm/git.py", line 177, in invoke
await self.__checkoutBranch(invoker, fetchCmd, switch)
File "/usr/local/lib/bob/lib/python3.7/site-packages/bob/scm/git.py", line 201, in __checkoutBranch
assert not self.__submodules
AssertionError
jkloetzke commented
Oh, this case was intended to work but the logic was not implemented this way. I'll look into it...