I'm trying deploy my site and am getting this error:

2:49:12 PM: Error checking out submodules: fatal: No url found for submodule path 'startbootstrap-grayscale' in .gitmodules
2:49:12 PM: Failing build: Failed to prepare repo
2:49:12 PM: failed during stage 'preparing repo': Error checking out submodules: fatal: No url found for submodule path 'startbootstrap-grayscale' in .gitmodules

Everything has been commited and pushed up to my repo and I don't think there is anything missing. Any clues as to what might going wrong?


repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true

[remote "origin"]
  url = https://github.com/BlackrockDigital/startbootstrap-grayscale.git
  fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
  remote = origin
  merge = refs/heads/master


usage: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
   or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] init [--] [<path>...]
   or: git submodule [--quiet] deinit [-f|--force] (--all| [--] <path>...)
   or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
   or: git submodule [--quiet] foreach [--recursive] <command>
   or: git submodule [--quiet] sync [--recursive] [--] [<path>...]
   or: git submodule [--quiet] absorbgitdirs [--] [<path>...]

2 Answers

Community On

What do you get back with "heroku logs --tail"? Im assuming you deleted the app and redeployed?

brian m. carlson On

It looks like your repository uses a submodule. When you use a submodule, there should be an entry for that path in the .gitmodules file in the root of your repository, and there should be an entry for the URL in that file. If you lack the file or the proper URL entry, you won't be able to check out the submodule when you perform a clone because Git doesn't know where the other repository is.

For reference, a .gitmodules file should look something like this:

[submodule "vim-fugitive"]
        path = vim/bundle/vim-fugitive
        url = https://github.com/tpope/vim-fugitive.git
[submodule "ctrlp"]
        path = vim/bundle/ctrlp
        url = https://github.com/kien/ctrlp.vim.git

The path component is the path within your repository and the url component is the location to download it from.

See the git-config(1) manual page for more details about the submodule configuration options.