Prompt about checking out head revision in TextEditor, not GitRepository

This allows us not to inject confirm or ApplicationDelegate into
Project, GitRepositoryProvider, and GitRepository.
This commit is contained in:
Nathan Sobo
2015-10-13 19:11:55 -06:00
parent 306ddf5491
commit f9a269ed99
5 changed files with 24 additions and 27 deletions

View File

@@ -80,7 +80,7 @@ class GitRepository
for submodulePath, submoduleRepo of @repo.submodules
submoduleRepo.upstream = {ahead: 0, behind: 0}
{@project, @config, @confirm, refreshOnWindowFocus} = options
{@project, @config, refreshOnWindowFocus} = options
refreshOnWindowFocus ?= true
if refreshOnWindowFocus
@@ -443,25 +443,10 @@ class GitRepository
# Subscribes to editor view event.
checkoutHeadForEditor: (editor) ->
filePath = editor.getPath()
return unless filePath
fileName = basename(filePath)
checkoutHead = =>
if filePath = editor.getPath()
editor.buffer.reload() if editor.buffer.isModified()
@checkoutHead(filePath)
if @config.get('editor.confirmCheckoutHeadRevision')
@confirm
message: 'Confirm Checkout HEAD Revision'
detailedMessage: "Are you sure you want to discard all changes to \"#{fileName}\" since the last Git commit?"
buttons:
OK: checkoutHead
Cancel: null
else
checkoutHead()
# Returns the corresponding {Repository}
getRepo: (path) ->
if @repo?