Show commits ahead/behind upstream in status bar

This commit is contained in:
Kevin Sawicki
2013-03-01 14:01:43 -08:00
parent fd82f3f8a4
commit e3ebda7d30
5 changed files with 36 additions and 5 deletions

View File

@@ -27,9 +27,11 @@ class Git
ignore: 1 << 14
statuses: null
upstream: null
constructor: (path, options={}) ->
@statuses = {}
@upstream = {ahead: 0, behind: 0}
@repo = GitRepository.open(path)
refreshOnWindowFocus = options.refreshOnWindowFocus ? true
if refreshOnWindowFocus

View File

@@ -9,8 +9,10 @@ module.exports =
statuses = {}
for path, status of repo.getRepo().getStatuses()
statuses[fs.join(workingDirectoryPath, path)] = status
upstream = repo.getAheadBehindCounts() ? {ahead: 0, behind: 0}
repo.destroy()
else
upstream = {}
statuses = {}
callTaskMethod('statusesLoaded', statuses)
callTaskMethod('statusesLoaded', {statuses, upstream})

View File

@@ -9,8 +9,9 @@ class RepositoryStatusTask extends Task
started: ->
@callWorkerMethod('loadStatuses', @repo.getPath())
statusesLoaded: (statuses) ->
statusesLoaded: ({statuses, upstream}) ->
@done()
unless _.isEqual(statuses, @repo.statuses)
@repo.statuses = statuses
@repo.trigger 'statuses-changed'
statusesUnchanged = _.isEqual(statuses, @repo.statuses) and _.isEqual(upstream, @repo.upstream)
@repo.statuses = statuses
@repo.upstream = upstream
@repo.trigger 'statuses-changed' unless statusesUnchanged