code: func NewStorageWithOptions(fs billy.Filesystem, cache cache.Object, ops Options) *Storage {
  	dirOps := dotgit.Options{
  		ExclusiveAccess: ops.ExclusiveAccess,
  	}
  	dir := dotgit.NewWithOptions(fs, dirOps)
  
  	return &Storage{
  		fs:  fs,
  		dir: dir,
  
  		ObjectStorage:    *NewObjectStorageWithOptions(dir, cache, ops),
  		ReferenceStorage: ReferenceStorage{dir: dir},
  		IndexStorage:     IndexStorage{dir: dir},
  		ShallowStorage:   ShallowStorage{dir: dir},
  		ConfigStorage:    ConfigStorage{dir: dir},
  		ModuleStorage:    ModuleStorage{dir: dir},
  	}
  }
docs: // NewStorageWithOptions returns a new Storage with extra options,
  // backed by a given `fs.Filesystem` and cache.