

def run(self):
    branch = self.git_string(['symbolic-ref', '-q', 'HEAD'], cwd=self.repo, ignore_errors=True, encoding=self.encoding, fallback=self.fallback)
    if (not branch):
        return
    branch = (branch[11:] if branch.startswith('refs/heads/') else branch)
    if (self.kind == 'simple'):
        msg = 'On {branch}'.format(branch=branch)
    else:
        self.git_exit_code(['update-index', '--refresh'], cwd=self.repo, encoding=self.encoding, fallback=self.fallback)
        unpushed = self.git_exit_code(['diff', '--exit-code', '--quiet', '@{upstream}..'], cwd=self.repo, encoding=self.encoding, fallback=self.fallback)
        staged = self.git_exit_code(['diff-index', '--quiet', '--cached', 'HEAD'], cwd=self.repo, encoding=self.encoding, fallback=self.fallback)
        unstaged = self.git_exit_code(['diff-index', '--quiet', 'HEAD'], cwd=self.repo, encoding=self.encoding, fallback=self.fallback)
        msg = 'On {branch}{dirty} in {repo}{unpushed}'.format(branch=branch, dirty=('*' if (staged or unstaged) else ''), repo=os.path.basename(self.repo), unpushed=(' with unpushed' if (unpushed == 1) else ''))
    sublime.set_timeout(partial(self.view.set_status, 'git-status', msg), 0)

dataset/ETHPy150Open SublimeGit/SublimeGit/sgit/status.py GitStatusBarUpdater.run/original