   #
   # Returns a promise that resolves when the repository has been refreshed.
   refreshStatus: ->
-    asyncRefresh = @async.refreshStatus().then =>
-      @statusesByPath = {}
-      @branch = @async?.branch
-
+    asyncRefresh = @async.refreshStatus()
     syncRefresh = new Promise (resolve, reject) =>
       @handlerPath ?= require.resolve('./repository-status-handler')
 

  #
  # Returns a {Disposable} on which `.dispose()` can be called to unsubscribe.
  onDidChangeStatuses: (callback) ->
    @async.onDidChangeStatuses ->
      # Defer the callback to the next tick so that we've reset
      # `@statusesByPath` by the time it's called. Otherwise reads from within
      # the callback could be inconsistent.
      # See https://github.com/atom/atom/issues/11396
      process.nextTick callback

  ###
  Section: Repository Details

    @getCachedRelativePathStatus(relativePath)

  getCachedRelativePathStatus: (relativePath) ->
    @statusesByPath[relativePath] ? @async.getCachedPathStatuses()[relativePath]

  # Public: Returns true if the given status indicates modification.
  #
