コード例 #1
0
ファイル: cmds.py プロジェクト: achernet/git-cola
 def __init__(self, paths):
     Command.__init__(self)
     browser = utils.shell_split(prefs.history_browser())
     if paths:
         self.argv = browser + paths
     else:
         self.argv = browser
コード例 #2
0
ファイル: cmds.py プロジェクト: achernet/git-cola
    def do(self):
        if not self.filenames:
            return
        filename = self.filenames[0]
        if not core.exists(filename):
            return
        editor = prefs.editor()
        opts = []

        if self.line_number is None:
            opts = self.filenames
        else:
            # Single-file w/ line-numbers (likely from grep)
            editor_opts = {
                    '*vim*': ['+'+self.line_number, filename],
                    '*emacs*': ['+'+self.line_number, filename],
                    '*textpad*': ['%s(%s,0)' % (filename, self.line_number)],
                    '*notepad++*': ['-n'+self.line_number, filename],
            }

            opts = self.filenames
            for pattern, opt in editor_opts.items():
                if fnmatch(editor, pattern):
                    opts = opt
                    break

        try:
            core.fork(utils.shell_split(editor) + opts)
        except Exception as e:
            message = (N_('Cannot exec "%s": please configure your editor') %
                       editor)
            Interaction.critical(N_('Error Editing File'),
                                 message, str(e))
コード例 #3
0
ファイル: status.py プロジェクト: djhaskin987/git-cola
 def apply_filter(self):
     text = self.text.value()
     if text == self._filter:
         return
     self._filter = text
     paths = utils.shell_split(text)
     self.main_model.update_path_filter(paths)
コード例 #4
0
ファイル: cmds.py プロジェクト: ab0de/git-cola
    def do(self):
        if not self.filenames:
            return
        filename = self.filenames[0]
        if not core.exists(filename):
            return
        editor = prefs.editor()
        opts = []

        if self.line_number is None:
            opts = self.filenames
        else:
            # Single-file w/ line-numbers (likely from grep)
            editor_opts = {
                "*vim*": ["+" + self.line_number, filename],
                "*emacs*": ["+" + self.line_number, filename],
                "*textpad*": ["%s(%s,0)" % (filename, self.line_number)],
                "*notepad++*": ["-n" + self.line_number, filename],
            }

            opts = self.filenames
            for pattern, opt in editor_opts.items():
                if fnmatch(editor, pattern):
                    opts = opt
                    break

        try:
            core.fork(utils.shell_split(editor) + opts)
        except Exception as e:
            message = N_('Cannot exec "%s": please configure your editor') % editor
            details = core.decode(e.strerror)
            Interaction.critical(N_("Error Editing File"), message, details)
コード例 #5
0
    def do(self):
        if not self.filenames:
            return
        filename = self.filenames[0]
        if not core.exists(filename):
            return
        editor = prefs.editor()
        opts = []

        if self.line_number is None:
            opts = self.filenames
        else:
            # Single-file w/ line-numbers (likely from grep)
            editor_opts = {
                    '*vim*': ['+'+self.line_number, filename],
                    '*emacs*': ['+'+self.line_number, filename],
                    '*textpad*': ['%s(%s,0)' % (filename, self.line_number)],
                    '*notepad++*': ['-n'+self.line_number, filename],
            }

            opts = self.filenames
            for pattern, opt in editor_opts.items():
                if fnmatch(editor, pattern):
                    opts = opt
                    break

        try:
            core.fork(utils.shell_split(editor) + opts)
        except Exception as e:
            message = (N_('Cannot exec "%s": please configure your editor')
                       % editor)
            details = core.decode(e.strerror)
            Interaction.critical(N_('Error Editing File'), message, details)
コード例 #6
0
 def __init__(self, paths):
     Command.__init__(self)
     browser = utils.shell_split(prefs.history_browser())
     if paths:
         self.argv = browser + list(paths)
     else:
         self.argv = browser
コード例 #7
0
ファイル: model.py プロジェクト: mwh/git-cola
 def next(self):
     if self._cached:
         try:
             self._idx += 1
             return self._topo_list[self._idx]
         except IndexError:
             self._idx = -1
             raise StopIteration
     if self._proc is None:
         ref_args = utils.shell_split(self.dag.ref)
         cmd = self._cmd + ['-%d' % self.dag.count] + ref_args
         self._proc = utils.start_command(cmd)
         self._topo_list = []
     log_entry = self._proc.stdout.readline().rstrip()
     if not log_entry:
         del self._proc
         self._cached = True
         self._proc = None
         raise StopIteration
     sha1 = log_entry[:40]
     try:
         return self._objects[sha1]
     except KeyError:
         c = CommitFactory.new(log_entry=log_entry)
         self._objects[c.sha1] = c
         self._topo_list.append(c)
         return c
コード例 #8
0
ファイル: status.py プロジェクト: aj-bagwell/git-cola
 def apply_filter(self):
     text = self.text.value()
     if text == self._filter:
         return
     self._filter = text
     paths = utils.shell_split(text)
     self.main_model.update_path_filter(paths)
コード例 #9
0
ファイル: cmds.py プロジェクト: moreati/git-cola
    def do(self):
        filename = self.filenames[0]
        if not os.path.exists(filename):
            return
        editor = self.model.editor()
        opts = []

        if self.line_number is None:
            opts = self.filenames
        else:
            # Single-file w/ line-numbers (likely from grep)
            editor_opts = {
                    '*vim*': ['+'+self.line_number, filename],
                    '*emacs*': ['+'+self.line_number, filename],
                    '*textpad*': ['%s(%s,0)' % (filename, self.line_number)],
                    '*notepad++*': ['-n'+self.line_number, filename],
            }

            opts = self.filenames
            for pattern, opt in editor_opts.items():
                if fnmatch(editor, pattern):
                    opts = opt
                    break

        utils.fork(utils.shell_split(editor) + opts)
コード例 #10
0
ファイル: model.py プロジェクト: moreati/git-cola
    def paths(self):
        all_refs = utils.shell_split(self.ref)
        if '--' in all_refs:
            all_refs = all_refs[all_refs.index('--'):]

        return [p for p in all_refs
                    if p and os.path.exists(core.encode(p))]
コード例 #11
0
ファイル: model.py プロジェクト: moreati/git-cola
    def next(self):
        if self._cached:
            try:
                self._idx += 1
                return self._topo_list[self._idx]
            except IndexError:
                self._idx = -1
                raise StopIteration

        if self._proc is None:
            ref_args = utils.shell_split(self.dag.ref)
            cmd = self._cmd + ['-%d' % self.dag.count] + ref_args
            self._proc = utils.start_command(cmd)
            self._topo_list = []

        log_entry = core.readline(self._proc.stdout).rstrip()
        if not log_entry:
            del self._proc
            self._cached = True
            self._proc = None
            raise StopIteration

        sha1 = log_entry[:40]
        try:
            return self._objects[sha1]
        except KeyError:
            c = CommitFactory.new(log_entry=log_entry)
            self._objects[c.sha1] = c
            self._topo_list.append(c)
            return c
コード例 #12
0
ファイル: cmds.py プロジェクト: jamie-pate/git-cola
    def do(self):
        if not self.filenames:
            return
        filename = self.filenames[0]
        if not os.path.exists(filename):
            return
        editor = self.model.editor()
        opts = []

        if self.line_number is None:
            opts = self.filenames
        else:
            # Single-file w/ line-numbers (likely from grep)
            editor_opts = {
                    '*vim*': ['+'+self.line_number, filename],
                    '*emacs*': ['+'+self.line_number, filename],
                    '*textpad*': ['%s(%s,0)' % (filename, self.line_number)],
                    '*notepad++*': ['-n'+self.line_number, filename],
            }

            opts = self.filenames
            for pattern, opt in editor_opts.items():
                if fnmatch(editor, pattern):
                    opts = opt
                    break

        utils.fork(utils.shell_split(editor) + opts)
コード例 #13
0
ファイル: model.py プロジェクト: HonestQiao/git-cola
    def paths(self):
        all_refs = utils.shell_split(self.ref)
        if '--' in all_refs:
            all_refs = all_refs[all_refs.index('--'):]

        return [p for p in all_refs
                    if p and os.path.exists(core.encode(p))]
コード例 #14
0
ファイル: cmds.py プロジェクト: moreati/git-cola
 def __init__(self, paths):
     Command.__init__(self)
     browser = utils.shell_split(self.model.history_browser())
     if paths:
         self.argv = browser + paths
     else:
         self.argv = browser
コード例 #15
0
ファイル: difftool.py プロジェクト: wmwong/git-cola
 def refresh(self):
     if self.expr is not None:
         self.diff_arg = utils.shell_split(self.expr)
     elif self.b is None:
         self.diff_arg = [self.a]
     else:
         self.diff_arg = [self.a, self.b]
     self.refresh_filenames()
コード例 #16
0
ファイル: cmds.py プロジェクト: jamie-pate/git-cola
 def do(self):
     argv = utils.shell_split(self.model.history_browser())
     if self.revision:
         argv.append(self.revision)
     if self.paths:
         argv.append('--')
         argv.extend(self.paths)
     utils.fork(argv)
コード例 #17
0
 def do(self):
     argv = utils.shell_split(prefs.history_browser())
     if self.revision:
         argv.append(self.revision)
     if self.paths:
         argv.append('--')
         argv.extend(self.paths)
     launch_history_browser(argv)
コード例 #18
0
ファイル: cmds.py プロジェクト: moreati/git-cola
 def do(self):
     argv = utils.shell_split(self.model.history_browser())
     if self.revision:
         argv.append(self.revision)
     if self.paths:
         argv.append('--')
         argv.extend(self.paths)
     utils.fork(argv)
コード例 #19
0
ファイル: cmds.py プロジェクト: Plenoge/git-cola
 def do(self):
     argv = utils.shell_split(prefs.history_browser())
     if self.revision:
         argv.append(self.revision)
     if self.paths:
         argv.append('--')
         argv.extend(self.paths)
     launch_history_browser(argv)
コード例 #20
0
ファイル: difftool.py プロジェクト: ciaravero/git-cola
    def __init__(self, parent, a=None, b=None, expr=None):
        super(FileDiffDialog, self).__init__(parent)
        self.setAttribute(Qt.WA_MacMetalStyle)
        self.a = a
        self.b = b
        self.expr = expr

        self.setWindowTitle('Select File(s)')
        self.setWindowModality(QtCore.Qt.WindowModal)

        self._tree = standard.TreeWidget(self)
        self._tree.setRootIsDecorated(False)
        self._tree.setSelectionMode(self._tree.ExtendedSelection)
        self._tree.setHeaderHidden(True)

        self._diff_btn = QtGui.QPushButton('Compare')
        self._diff_btn.setIcon(qtutils.ok_icon())
        self._diff_btn.setEnabled(False)

        self._close_btn = QtGui.QPushButton('Close')
        self._close_btn.setIcon(qtutils.close_icon())

        self._button_layt = QtGui.QHBoxLayout()
        self._button_layt.setMargin(0)
        self._button_layt.addStretch()
        self._button_layt.addWidget(self._diff_btn)
        self._button_layt.addWidget(self._close_btn)

        self._layt = QtGui.QVBoxLayout()
        self._layt.setMargin(defs.margin)
        self._layt.setSpacing(defs.spacing)
        self._layt.addWidget(self._tree)
        self._layt.addLayout(self._button_layt)
        self.setLayout(self._layt)

        qtutils.add_close_action(self)

        self.connect(self._tree, SIGNAL('itemSelectionChanged()'),
                     self._tree_selection_changed)

        self.connect(self._tree,
                     SIGNAL('itemDoubleClicked(QTreeWidgetItem*,int)'),
                     self._tree_double_clicked)

        self.connect(self._diff_btn, SIGNAL('clicked()'), self.diff)
        self.connect(self._close_btn, SIGNAL('clicked()'), self.close)

        if self.expr:
            self.diff_arg = tuple(utils.shell_split(self.expr))
        elif self.b is None:
            self.diff_arg = (self.a,)
        else:
            self.diff_arg = (self.a, self.b)

        self.resize(720, 420)
コード例 #21
0
ファイル: difftool.py プロジェクト: gdebure/git-cola
    def __init__(self, parent, a=None, b=None, expr=None):
        QtGui.QDialog.__init__(self, parent)
        self.setAttribute(Qt.WA_MacMetalStyle)
        self.a = a
        self.b = b
        self.expr = expr

        self.setWindowTitle('Select File(s)')
        self.setWindowModality(QtCore.Qt.WindowModal)

        self._tree = standard.TreeWidget(self)
        self._tree.setRootIsDecorated(False)
        self._tree.setSelectionMode(self._tree.ExtendedSelection)
        self._tree.setHeaderHidden(True)

        self._diff_btn = QtGui.QPushButton('Compare')
        self._diff_btn.setIcon(qtutils.ok_icon())
        self._diff_btn.setEnabled(False)

        self._close_btn = QtGui.QPushButton('Close')
        self._close_btn.setIcon(qtutils.close_icon())

        self._button_layt = QtGui.QHBoxLayout()
        self._button_layt.setMargin(0)
        self._button_layt.addStretch()
        self._button_layt.addWidget(self._diff_btn)
        self._button_layt.addWidget(self._close_btn)

        self._layt = QtGui.QVBoxLayout()
        self._layt.setMargin(defs.margin)
        self._layt.setSpacing(defs.spacing)
        self._layt.addWidget(self._tree)
        self._layt.addLayout(self._button_layt)
        self.setLayout(self._layt)

        self.connect(self._tree, SIGNAL('itemSelectionChanged()'),
                     self._tree_selection_changed)

        self.connect(self._tree,
                     SIGNAL('itemDoubleClicked(QTreeWidgetItem*,int)'),
                     self._tree_double_clicked)

        qtutils.connect_button(self._diff_btn, self.diff)
        qtutils.connect_button(self._close_btn, self.close)
        qtutils.add_close_action(self)

        if self.expr:
            self.diff_arg = tuple(utils.shell_split(self.expr))
        elif self.b is None:
            self.diff_arg = (self.a,)
        else:
            self.diff_arg = (self.a, self.b)

        self.resize(720, 420)
コード例 #22
0
ファイル: finder.py プロジェクト: HenryHo2015/git-cola
 def run(self):
     query = self.query
     if query is None:
         args = []
     else:
         args = [add_wildcards(arg) for arg in utils.shell_split(query)]
     filenames = gitcmds.tracked_files(*args)
     if query == self.query:
         self.emit(SIGNAL('result(PyQt_PyObject)'), filenames)
     else:
         self.run()
コード例 #23
0
ファイル: finder.py プロジェクト: Jobava/git-cola
 def run(self):
     query = self.query
     if query is None:
         args = []
     else:
         args = [add_wildcards(arg) for arg in utils.shell_split(query)]
     filenames = gitcmds.tracked_files(*args)
     if query == self.query:
         self.emit(SIGNAL('result(PyQt_PyObject)'), filenames)
     else:
         self.run()
コード例 #24
0
ファイル: gitcmds.py プロジェクト: queer1/git-cola
def diff_helper(commit=None,
                ref=None,
                endref=None,
                filename=None,
                cached=True,
                head=None,
                amending=False,
                with_diff_header=False,
                suppress_header=True,
                reverse=False,
                git=git):
    "Invokes git diff on a filepath."
    encode = core.encode
    if commit:
        ref, endref = commit + '^', commit
    argv = []
    if ref and endref:
        argv.append('%s..%s' % (ref, endref))
    elif ref:
        for r in utils.shell_split(ref.strip()):
            argv.append(r)
    elif head and amending and cached:
        argv.append(head)

    encoding = None
    if filename:
        argv.append('--')
        if type(filename) is list:
            argv.extend(filename)
        else:
            argv.append(filename)
            encoding = config.file_encoding(filename)

    if filename is not None:
        deleted = cached and not os.path.exists(encode(filename))
    else:
        deleted = False

    status, diffoutput = git.diff(R=reverse,
                                  M=True,
                                  cached=cached,
                                  with_status=True,
                                  *argv,
                                  **_common_diff_opts())
    if status != 0:
        # git init
        if with_diff_header:
            return ('', '')
        else:
            return ''

    return extract_diff_header(status, deleted, encoding, with_diff_header,
                               suppress_header, diffoutput)
コード例 #25
0
ファイル: grep.py プロジェクト: Viktorbutt/git-cola
 def run(self):
     if self.query is None:
         return
     query = self.query
     if self.shell:
         args = utils.shell_split(query)
     else:
         args = [query]
     status, out, err = git.grep(self.regexp_mode, n=True, *args)
     if query == self.query:
         self.emit(SIGNAL('result'), status, out, err)
     else:
         self.run()
コード例 #26
0
ファイル: grep.py プロジェクト: jmcabandara/git-cola
 def run(self):
     if self.query is None:
         return
     query = self.query
     if self.shell:
         args = utils.shell_split(query)
     else:
         args = [query]
     status, out, err = git.grep(self.regexp_mode, n=True, *args)
     if query == self.query:
         self.emit(SIGNAL('result'), status, out, err)
     else:
         self.run()
コード例 #27
0
ファイル: gitcmds.py プロジェクト: suside/git-cola
def diff_helper(commit=None,
                ref=None,
                endref=None,
                filename=None,
                cached=True,
                head=None,
                amending=False,
                with_diff_header=False,
                suppress_header=True,
                reverse=False,
                git=git):
    "Invokes git diff on a filepath."
    encode = core.encode
    if commit:
        ref, endref = commit+'^', commit
    argv = []
    if ref and endref:
        argv.append('%s..%s' % (ref, endref))
    elif ref:
        for r in utils.shell_split(ref.strip()):
            argv.append(r)
    elif head and amending and cached:
        argv.append(head)

    encoding = None
    if filename:
        argv.append('--')
        if type(filename) is list:
            argv.extend(filename)
        else:
            argv.append(filename)
            encoding = config.file_encoding(filename)


    if filename is not None:
        deleted = cached and not os.path.exists(encode(filename))
    else:
        deleted = False

    status, diffoutput = git.diff(R=reverse, M=True, cached=cached,
                                  with_status=True,
                                  *argv, **_common_diff_opts())
    if status != 0:
        # git init
        if with_diff_header:
            return ('', '')
        else:
            return ''

    return extract_diff_header(status, deleted, encoding,
                               with_diff_header, suppress_header, diffoutput)
コード例 #28
0
 def do(self):
     s = selection.selection()
     if s.unmerged:
         paths = s.unmerged
         if utils.is_win32():
             core.fork(['git', 'mergetool', '--no-prompt', '--'] + paths)
         else:
             cmd = _config.terminal()
             argv = utils.shell_split(cmd)
             argv.extend(['git', 'mergetool', '--no-prompt', '--'])
             argv.extend(paths)
             core.fork(argv)
     else:
         difftool.run()
コード例 #29
0
ファイル: grep.py プロジェクト: gwood/git-cola
 def run(self):
     if self.query is None:
         return
     query = self.query
     if self.shell:
         args = utils.shell_split(query)
     else:
         args = [query]
     status, out, err = git.grep(self.regexp_mode, n=True, *args)
     if query == self.query:
         worker_signal = 'result(PyQt_PyObject,PyQt_PyObject,PyQt_PyObject)'
         self.emit(SIGNAL(worker_signal), status, out, err)
     else:
         self.run()
コード例 #30
0
ファイル: grep.py プロジェクト: jc3ll/git-cola
    def run(self):
        if self.txt is None:
            return
        query = self.txt

        if self.shell:
            args = utils.shell_split(query)
        else:
            args = [query]
        status, out = git.grep(with_status=True, with_stderr=True, n=True, *args)
        if query == self.txt:
            self.emit(SIGNAL("result"), status, core.decode(out))
        else:
            self.run()
コード例 #31
0
 def run(self):
     if self.query is None:
         return
     query = self.query
     if self.shell:
         args = utils.shell_split(query)
     else:
         args = [query]
     status, out, err = git.grep(self.regexp_mode, n=True, *args)
     if query == self.query:
         worker_signal = 'result(PyQt_PyObject,PyQt_PyObject,PyQt_PyObject)'
         self.emit(SIGNAL(worker_signal), status, out, err)
     else:
         self.run()
コード例 #32
0
ファイル: cmds.py プロジェクト: jmdcal/git-cola
 def do(self):
     s = selection.selection()
     if s.unmerged:
         paths = s.unmerged
         if utils.is_win32():
             core.fork(['git', 'mergetool', '--no-prompt', '--'] + paths)
         else:
             cmd = _config.terminal()
             argv = utils.shell_split(cmd)
             argv.extend(['git', 'mergetool', '--no-prompt', '--'])
             argv.extend(paths)
             core.fork(argv)
     else:
         difftool.run()
コード例 #33
0
def diff_helper(commit=None,
                ref=None,
                endref=None,
                filename=None,
                cached=True,
                deleted=False,
                head=None,
                amending=False,
                with_diff_header=False,
                suppress_header=True,
                reverse=False,
                git=git):
    "Invokes git diff on a filepath."
    if commit:
        ref, endref = commit + '^', commit
    argv = []
    if ref and endref:
        argv.append('%s..%s' % (ref, endref))
    elif ref:
        for r in utils.shell_split(ref.strip()):
            argv.append(r)
    elif head and amending and cached:
        argv.append(head)

    encoding = None
    if filename:
        argv.append('--')
        if type(filename) is list:
            argv.extend(filename)
        else:
            argv.append(filename)
            cfg = gitcfg.current()
            encoding = cfg.file_encoding(filename)

    status, out, err = git.diff(R=reverse,
                                M=True,
                                cached=cached,
                                _encoding=encoding,
                                *argv,
                                **common_diff_opts())
    if status != 0:
        # git init
        if with_diff_header:
            return ('', '')
        else:
            return ''

    return extract_diff_header(status, deleted, with_diff_header,
                               suppress_header, out)
コード例 #34
0
ファイル: grep.py プロジェクト: gdebure/git-cola
    def run(self):
        if self.txt is None:
            return
        query = self.txt

        if self.shell:
            args = utils.shell_split(query)
        else:
            args = [query]
        status, out = git.grep(with_status=True, with_stderr=True,
                               n=True, *args)
        if query == self.txt:
            self.emit(SIGNAL('result'), status, core.decode(out))
        else:
            self.run()
コード例 #35
0
ファイル: cmds.py プロジェクト: ab0de/git-cola
 def do(self):
     s = selection.selection()
     if s.unmerged:
         paths = s.unmerged
         if utils.is_win32():
             core.fork(["git", "mergetool", "--no-prompt", "--"] + paths)
         else:
             cfg = gitcfg.current()
             cmd = cfg.terminal()
             argv = utils.shell_split(cmd)
             argv.extend(["git", "mergetool", "--no-prompt", "--"])
             argv.extend(paths)
             core.fork(argv)
     else:
         difftool.run()
コード例 #36
0
ファイル: gitcmds.py プロジェクト: jalaludin/git-cola
def diff_helper(
    commit=None,
    ref=None,
    endref=None,
    filename=None,
    cached=True,
    head=None,
    amending=False,
    with_diff_header=False,
    suppress_header=True,
    reverse=False,
    git=git,
):
    "Invokes git diff on a filepath."
    if commit:
        ref, endref = commit + "^", commit
    argv = []
    if ref and endref:
        argv.append("%s..%s" % (ref, endref))
    elif ref:
        for r in utils.shell_split(ref.strip()):
            argv.append(r)
    elif head and amending and cached:
        argv.append(head)

    encoding = None
    if filename:
        argv.append("--")
        if type(filename) is list:
            argv.extend(filename)
        else:
            argv.append(filename)
            encoding = config.file_encoding(filename)

    if filename is not None:
        deleted = cached and not core.exists(filename)
    else:
        deleted = False

    status, out, err = git.diff(R=reverse, M=True, cached=cached, _encoding=encoding, *argv, **common_diff_opts())
    if status != 0:
        # git init
        if with_diff_header:
            return ("", "")
        else:
            return ""

    return extract_diff_header(status, deleted, with_diff_header, suppress_header, out)
コード例 #37
0
ファイル: cmds.py プロジェクト: achernet/git-cola
    def do(self):
        argv = utils.shell_split(prefs.history_browser())
        if self.revision:
            argv.append(self.revision)
        if self.paths:
            argv.append('--')
            argv.extend(self.paths)

        try:
            core.fork(argv)
        except Exception as e:
            _, details = utils.format_exception(e)
            title = N_('Error Launching History Browser')
            msg = (N_('Cannot exec "%s": please configure a history browser') %
                   ' '.join(argv))
            Interaction.critical(title, message=msg, details=details)
コード例 #38
0
ファイル: cmds.py プロジェクト: lucianosb/git-cola
    def do(self):
        argv = utils.shell_split(prefs.history_browser())
        if self.revision:
            argv.append(self.revision)
        if self.paths:
            argv.append('--')
            argv.extend(self.paths)

        try:
            core.fork(argv)
        except Exception as e:
            _, details = utils.format_exception(e)
            title = N_('Error Launching History Browser')
            msg = (N_('Cannot exec "%s": please configure a history browser') %
                   ' '.join(argv))
            Interaction.critical(title, message=msg, details=details)
コード例 #39
0
ファイル: gitcmds.py プロジェクト: assem-ch/git-cola
def diff_helper(commit=None,
                ref=None,
                endref=None,
                filename=None,
                cached=True,
                deleted=False,
                head=None,
                amending=False,
                with_diff_header=False,
                suppress_header=True,
                reverse=False,
                git=git):
    "Invokes git diff on a filepath."
    if commit:
        ref, endref = commit+'^', commit
    argv = []
    if ref and endref:
        argv.append('%s..%s' % (ref, endref))
    elif ref:
        for r in utils.shell_split(ref.strip()):
            argv.append(r)
    elif head and amending and cached:
        argv.append(head)

    encoding = None
    if filename:
        argv.append('--')
        if type(filename) is list:
            argv.extend(filename)
        else:
            argv.append(filename)
            cfg = gitcfg.current()
            encoding = cfg.file_encoding(filename)

    status, out, err = git.diff(R=reverse, M=True, cached=cached,
                                _encoding=encoding,
                                *argv,
                                **common_diff_opts())
    if status != 0:
        # git init
        if with_diff_header:
            return ('', '')
        else:
            return ''

    return extract_diff_header(status, deleted,
                               with_diff_header, suppress_header, out)
コード例 #40
0
ファイル: status.py プロジェクト: takluyver/git-cola
 def apply_filter(self):
     text = self.text.value()
     paths = utils.shell_split(text)
     self.main_model.update_path_filter(paths)
コード例 #41
0
ファイル: cmds.py プロジェクト: achernet/git-cola
 def do(self):
     browser = utils.shell_split(prefs.history_browser())
     core.fork(browser + [self.model.currentbranch])
コード例 #42
0
ファイル: cmds.py プロジェクト: achernet/git-cola
 def do(self):
     browser = utils.shell_split(prefs.history_browser())
     core.fork(browser + ['--all'])
コード例 #43
0
 def do(self):
     cfg = gitcfg.current()
     cmd = cfg.terminal()
     argv = utils.shell_split(cmd)
     argv.append(os.getenv('SHELL', '/bin/sh'))
     core.fork(argv, cwd=self.path)
コード例 #44
0
ファイル: status.py プロジェクト: PauloVAF/git-cola
 def apply_filter(self):
     text = self.text.value()
     paths = utils.shell_split(text)
     self.main_model.update_path_filter(paths)
コード例 #45
0
ファイル: completion.py プロジェクト: jmdcal/git-cola
 def _words(self):
     return utils.shell_split(self.value())
コード例 #46
0
ファイル: cmds.py プロジェクト: achernet/git-cola
 def do(self):
     cmd = _config.get('cola.terminal', 'xterm -e $SHELL')
     cmd = os.path.expandvars(cmd)
     argv = utils.shell_split(cmd)
     core.fork(argv, cwd=self.path)
コード例 #47
0
 def do(self):
     browser = utils.shell_split(prefs.history_browser())
     launch_history_browser(browser + [self.model.currentbranch])
コード例 #48
0
 def do(self):
     browser = utils.shell_split(prefs.history_browser())
     launch_history_browser(browser + ['--all'])
コード例 #49
0
 def _words(self):
     return utils.shell_split(self.value())
コード例 #50
0
ファイル: search.py プロジェクト: yjpark/git-cola
 def results(self):
     query, opts = self.common_args()
     args = utils.shell_split(query)
     return self.revisions(all=True, *args, **opts)
コード例 #51
0
ファイル: search.py プロジェクト: PauloVAF/git-cola
 def results(self):
     query, opts = self.common_args()
     args = utils.shell_split(query)
     return self.revisions(all=True, *args, **opts)
コード例 #52
0
ファイル: cmds.py プロジェクト: moreati/git-cola
 def do(self):
     browser = utils.shell_split(self.model.history_browser())
     utils.fork(browser + ['--all'])
コード例 #53
0
ファイル: completion.py プロジェクト: wmwong/git-cola
 def _words(self):
     return utils.shell_split(ustr(self.text()))
コード例 #54
0
ファイル: completion.py プロジェクト: B-Rich/git-cola
 def _words(self):
     return utils.shell_split(ustr(self.text()))
コード例 #55
0
ファイル: cmds.py プロジェクト: jamie-pate/git-cola
 def do(self):
     browser = utils.shell_split(self.model.history_browser())
     utils.fork(browser + ['--all'])
コード例 #56
0
ファイル: search.py プロジェクト: PauloVAF/git-cola
 def results(self):
     query, args = self.common_args()
     paths = ['--'] + utils.shell_split(query)
     return self.revisions(all=True, *paths, **args)
コード例 #57
0
ファイル: cmds.py プロジェクト: moreati/git-cola
 def do(self):
     browser = utils.shell_split(self.model.history_browser())
     utils.fork(browser + [self.model.currentbranch])
コード例 #58
0
ファイル: search.py プロジェクト: yjpark/git-cola
 def results(self):
     query, args = self.common_args()
     paths = ['--'] + utils.shell_split(query)
     return self.revisions(all=True, *paths, **args)
コード例 #59
0
 def do(self):
     cmd = _config.terminal()
     argv = utils.shell_split(cmd)
     argv.append(os.getenv('SHELL', '/bin/sh'))
     core.fork(argv, cwd=self.path)