Use .getStatusForPaths.

This commit is contained in:
joshaber
2016-01-01 17:05:50 -05:00
parent 5d85ea18ae
commit b4035547c2
2 changed files with 8 additions and 3 deletions

View File

@@ -463,8 +463,12 @@ class GitRepository
refreshStatus: ->
@handlerPath ?= require.resolve('./repository-status-handler')
relativeProjectPaths = @project?.getPaths()
.map (path) => @relativize(path)
.filter (path) -> path.length > 0
@statusTask?.terminate()
@statusTask = Task.once @handlerPath, @getPath(), ({statuses, upstream, branch, submodules}) =>
@statusTask = Task.once @handlerPath, @getPath(), relativeProjectPaths, ({statuses, upstream, branch, submodules}) =>
statusesUnchanged = _.isEqual(statuses, @statuses) and
_.isEqual(upstream, @upstream) and
_.isEqual(branch, @branch) and

View File

@@ -1,7 +1,7 @@
Git = require 'git-utils'
path = require 'path'
module.exports = (repoPath) ->
module.exports = (repoPath, paths = []) ->
repo = Git.open(repoPath)
upstream = {}
@@ -12,7 +12,8 @@ module.exports = (repoPath) ->
if repo?
# Statuses in main repo
workingDirectoryPath = repo.getWorkingDirectory()
for filePath, status of repo.getStatus()
repoStatus = (if paths.length > 0 then repo.getStatusForPaths(paths) else repo.getStatus())
for filePath, status of repoStatus
statuses[filePath] = status
# Statuses in submodules