   # * path:
   #   The String path to check
   #
-  # Returns a {Boolean}.
+  # Returns a Boolean.
   isSubmodule: (path) -> @getRepo().isSubmodule(@relativize(path))
 
   # Public: Retrieves the status of a directory.

  # can be an array of strings containing the reference names.
  getReferences: -> @getRepo().getReferences()

  # Public: ?
  getAheadBehindCount: (reference) -> @getRepo().getAheadBehindCount(reference)

  # Public: ?
  hasBranch: (branch) -> @getReferenceTarget("refs/heads/#{branch}")?

  # Private:
  refreshStatus: ->
    @statusTask = Task.once require.resolve('./repository-status-handler'), @getPath(), ({statuses, upstream, branch}) =>
      statusesUnchanged = _.isEqual(statuses, @statuses) and _.isEqual(upstream, @upstream) and _.isEqual(branch, @branch)


  # Public: Checks out a branch in your repository.
  #
  # * reference:
  #   The String reference to checkout
  # * create:
  #   A Boolean value which, if true creates the new reference if it doesn't exist.
  #
  # Returns a Boolean that's true if the method was successful.
  checkoutReference: (reference, create) ->
    @getRepo().checkoutReference(reference, create)

