#NEWLINE# def run_async( self ) : #NEWLINE# #INDENT# savvy_settings = sublime . load_settings ( 'GitSavvy.sublime-settings' ) #NEWLINE# if ( savvy_settings . get ( 'prompt_for_tracking_branch' ) and ( not self . get_upstream_for_active_branch ( ) ) ) : #NEWLINE# #INDENT# if sublime . ok_cancel_dialog ( SET_UPSTREAM_PROMPT ) : #NEWLINE# #INDENT# self . remotes = list ( self . get_remotes ( ) . keys ( ) ) #NEWLINE# if ( not self . remotes ) : #NEWLINE# #INDENT# self . view . window ( ) . show_quick_panel ( [ 'There are no remotes available.' ] , None ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# self . view . window ( ) . show_quick_panel ( self . remotes , self . on_select_remote , flags = sublime . MONOSPACE_FONT ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# remote_branch = self . get_active_remote_branch ( ) #NEWLINE# if ( not remote_branch ) : #NEWLINE# #INDENT# sublime . message_dialog ( 'Unable to determine remote.' ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# ( status , secondary ) = self . get_branch_status ( ) #NEWLINE# if secondary : #NEWLINE# #INDENT# sublime . message_dialog ( ( 'Your current branch is different from its remote counterpart. %s' % secondary ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# base_remote = github . parse_remote ( self . get_integrated_remote_url ( ) ) #NEWLINE# owner = github . parse_remote ( self . get_remotes ( ) [ status . remote ] ) . owner #NEWLINE# self . open_comparision_in_browser ( base_remote . url , owner , remote_branch . name )