def add(url, path, options = {})
      submodule = setup_add(url, path, options)
      clone_submodule(submodule.repository, options)
      submodule.finalize_add
    end
def add(url, path, options = {})
      submodule = setup_add(url, path, options)
      clone_submodule(submodule.repository, options)
      submodule.finalize_add
    end
call-seq:
   submodules.setup_add(url, path[, options]) -> submodule

 Add a new +submodule+.

 This does <tt>"git submodule add"</tt> incuding fetch and checkout of the
 submodule contents.

 - +url+: URL for the submodule's remote
 - +path+: path at which the submodule should be created

 The +options+ hash accepts all options supported by Rugged::Remote#fetch
 and the following:
 :gitlink ::
   (defaults to +true+) should workdir contain a
   gitlink to the repository in +.git/modules+ vs. repository
   directly in workdir.

 Returns the newly created +submodule+