diff -Nru git-cola-3.5/CHANGELOG git-cola-3.6/CHANGELOG --- git-cola-3.5/CHANGELOG 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/CHANGELOG 2019-11-27 08:36:53.000000000 +0000 @@ -5,7 +5,7 @@ Latest Release ============== -:ref:`v3.5 ` is the latest stable release. +:ref:`v3.6 ` is the latest stable release. Development version =================== @@ -14,6 +14,79 @@ ``git clone git://github.com/git-cola/git-cola.git`` +.. _v3.6: + +Usability, bells and whistles +----------------------------- +* The remote editor is much faster since it no longer queries + remotes, and uses the cached information instead. + (`#986 `_) + +* Commit message templates can now be loaded automatically by setting + ``git config cola.autoloadcommittemplate true``. + (`#1013 `_) + (`#735 `_) + +* The UI layout can now be reset back to its initial state by selecting + the "Reset Layout" action. This reverts the layout to the same state + as when the app first launched. + (`#1008 `_) + (`#994 `_) + +* Files can now be ignored in either the project's `.gitignore`, or in the + repository's private local `.git/info/exclude` ignore file. + (`#1006 `_) + (`#1000 `_) + +* New remotes are now selected when they are added in the "Edit Remotes" tool. + (`#1002 `_) + +* The "Recent" repositories list is now saved to disk when opening a + repository. Previously, this list was only updated when exiting the app. + (`#1001 `_) + +* The bookmarks tool now has a "Delete" option in its right-click menu. + (`#999 `_) + +* The current repository is no longer listed in the "File/Open Recent" menu. + (`#998 `_) + +Translations +------------ +* Updated Hungarian translation. + (`#1005 `_) + (`#1018 `_) + +* Updated Turkish translation. + (`#1003 `_) + (`#1011 `_) + +Fixes +----- +* Better support for Python 3.8's line buffering modes. + (`#1014 `_) + +* The default `ssh-askpass` script now uses a more generic `#!` shebang line. + (`#1012 `_) + +* Fetch, push, and pull operations will now refresh the model and display when + operations complete. + (`#996 `_) + +* The branches widget now refreshes its display when changing branches. + (`#992 `_) + +Packaging +--------- +* The `share/git-cola/bin/git-xbase` script will now have its `#!` lines + updated during installation. + (`#991 `_) + +Development +----------- +* The unit tests were made more platform-independent. + (`#993 `_) + .. _v3.5: Usability, bells and whistles diff -Nru git-cola-3.5/cola/app.py git-cola-3.6/cola/app.py --- git-cola-3.5/cola/app.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/app.py 2019-11-27 08:36:53.000000000 +0000 @@ -1,4 +1,5 @@ """Provides the main() routine and ColaApplication""" +# pylint: disable=unused-import from __future__ import division, absolute_import, unicode_literals from functools import partial import argparse @@ -25,6 +26,13 @@ from qtpy import QtWidgets from qtpy.QtCore import Qt +try: + # Qt 5.12 / PyQt 5.13 is unable to use QtWebEngineWidgets unless it is + # imported before QApplication is constructed. + from qtpy import QtWebEngineWidgets # noqa +except ImportError: + # QtWebEngineWidgets / QtWebKit is not available -- no big deal. + pass # Import cola modules from .i18n import N_ diff -Nru git-cola-3.5/cola/cmds.py git-cola-3.6/cola/cmds.py --- git-cola-3.5/cola/cmds.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/cmds.py 2019-11-27 08:36:53.000000000 +0000 @@ -27,6 +27,7 @@ from .i18n import N_ from .interaction import Interaction from .models import prefs +from .settings import Settings class UsageError(Exception): @@ -573,7 +574,11 @@ core.unlink(tmp_file) if status == 0: super(Commit, self).do() - self.model.set_commitmsg(self.new_commitmsg) + if context.cfg.get(prefs.AUTOTEMPLATE): + template_loader = LoadCommitMessageFromTemplate(context) + template_loader.do() + else: + self.model.set_commitmsg(self.new_commitmsg) title = N_('Commit failed') Interaction.command(title, 'git commit', status, out, err) @@ -599,22 +604,28 @@ class Ignore(ContextCommand): - """Add files to .gitignore""" + """Add files to an exclusion file""" - def __init__(self, context, filenames): + def __init__(self, context, filenames, local=False): super(Ignore, self).__init__(context) self.filenames = list(filenames) + self.local = local def do(self): if not self.filenames: return new_additions = '\n'.join(self.filenames) + '\n' for_status = new_additions - if core.exists('.gitignore'): - current_list = core.read('.gitignore') + if self.local: + filename = os.path.join('.git', 'info', 'exclude') + else: + filename = '.gitignore' + if core.exists(filename): + current_list = core.read(filename) new_additions = current_list.rstrip() + '\n' + new_additions - core.write('.gitignore', new_additions) - Interaction.log_status(0, 'Added to .gitignore:\n%s' % for_status, '') + core.write(filename, new_additions) + Interaction.log_status(0, 'Added to %s:\n%s' % (filename, for_status), + '') self.model.update_file_status() @@ -1551,7 +1562,16 @@ self.fsmonitor.stop() self.fsmonitor.start() self.model.update_status() - self.model.set_commitmsg(self.new_commitmsg) + # Check if template should be loaded + if self.context.cfg.get(prefs.AUTOTEMPLATE): + template_loader = LoadCommitMessageFromTemplate(self.context) + template_loader.do() + else: + self.model.set_commitmsg(self.new_commitmsg) + settings = Settings() + settings.load() + settings.add_recent(self.repo_path, prefs.maxrecent(self.context)) + settings.save() super(OpenRepo, self).do() else: self.model.set_worktree(old_repo) diff -Nru git-cola-3.5/cola/compat.py git-cola-3.6/cola/compat.py --- git-cola-3.5/cola/compat.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/compat.py 2019-11-27 08:36:53.000000000 +0000 @@ -8,12 +8,6 @@ # Python 3 from urllib import parse # noqa -try: - # Python 2.7+ - from collections import OrderedDict as odict # noqa -except ImportError: - from .ordered_dict import OrderedDict as odict # noqa - PY2 = sys.version_info[0] == 2 PY3 = sys.version_info[0] >= 3 diff -Nru git-cola-3.5/cola/core.py git-cola-3.6/cola/core.py --- git-cola-3.5/cola/core.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/core.py 2019-11-27 08:36:53.000000000 +0000 @@ -208,7 +208,10 @@ CREATE_NO_WINDOW = 0x08000000 extra['creationflags'] = CREATE_NO_WINDOW - return subprocess.Popen(cmd, bufsize=1, stdin=stdin, stdout=stdout, + # Use line buffering when in text/universal_newlines mode, + # otherwise use the system default buffer size. + bufsize = 1 if universal_newlines else -1 + return subprocess.Popen(cmd, bufsize=bufsize, stdin=stdin, stdout=stdout, stderr=stderr, cwd=cwd, env=env, universal_newlines=universal_newlines, **extra) diff -Nru git-cola-3.5/cola/difftool.py git-cola-3.6/cola/difftool.py --- git-cola-3.5/cola/difftool.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/difftool.py 2019-11-27 08:36:53.000000000 +0000 @@ -90,6 +90,7 @@ self.button_layout) self.setLayout(self.main_layout) + # pylint: disable=no-member self.tree.itemSelectionChanged.connect(self.tree_selection_changed) self.tree.itemDoubleClicked.connect(self.tree_double_clicked) self.tree.up.connect(self.focus_input) diff -Nru git-cola-3.5/cola/gravatar.py git-cola-3.6/cola/gravatar.py --- git-cola-3.5/cola/gravatar.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/gravatar.py 2019-11-27 08:36:53.000000000 +0000 @@ -42,6 +42,7 @@ self._default_pixmap_bytes = None self.network = QtNetwork.QNetworkAccessManager() + # pylint: disable=no-member self.network.finished.connect(self.network_finished) def set_email(self, email): diff -Nru git-cola-3.5/cola/icons.py git-cola-3.6/cola/icons.py --- git-cola-3.5/cola/icons.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/icons.py 2019-11-27 08:36:53.000000000 +0000 @@ -1,5 +1,4 @@ """The only file where icon filenames are mentioned""" - from __future__ import absolute_import, division, unicode_literals import os @@ -171,7 +170,7 @@ def configure(): - return from_theme('configure', fallback='gear.svg') + return icon('gear.svg') def copy(): diff -Nru git-cola-3.5/cola/models/main.py git-cola-3.6/cola/models/main.py --- git-cola-3.5/cola/models/main.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/models/main.py 2019-11-27 08:36:53.000000000 +0000 @@ -36,6 +36,7 @@ message_submodules_changed = 'message_submodules_changed' message_refs_updated = 'message_refs_updated' message_updated = 'updated' + message_worktree_changed = 'message_worktree_changed' # States mode_none = 'none' # Default: nothing's happened, do nothing @@ -131,6 +132,7 @@ self.set_directory(cwd) core.chdir(cwd) self.update_config(reset=True) + self.notify_observers(self.message_worktree_changed) return is_valid def is_git_lfs_enabled(self): @@ -330,37 +332,49 @@ def update_remotes(self): self._update_remotes() + self.update_refs() + + def update_refs(self): + """Update tag and branch names""" + self.emit_about_to_update() self._update_branches_and_tags() + self.emit_updated() def delete_branch(self, branch): status, out, err = self.git.branch(branch, D=True) - self._update_branches_and_tags() + self.update_refs() return status, out, err def rename_branch(self, branch, new_branch): status, out, err = self.git.branch(branch, new_branch, M=True) - self.emit_about_to_update() - self._update_branches_and_tags() - self.emit_updated() + self.update_refs() return status, out, err def remote_url(self, name, action): - push = action == 'push' + push = action == 'PUSH' return gitcmds.remote_url(self.context, name, push=push) def fetch(self, remote, **opts): - return run_remote_action(self.context, self.git.fetch, remote, **opts) + result = run_remote_action(self.context, self.git.fetch, remote, **opts) + self.update_refs() + return result def push(self, remote, remote_branch='', local_branch='', **opts): # Swap the branches in push mode (reverse of fetch) opts.update(dict(local_branch=remote_branch, remote_branch=local_branch)) - return run_remote_action(self.context, self.git.push, remote, - push=True, **opts) + result = run_remote_action( + self.context, self.git.push, remote, push=True, **opts) + self.update_refs() + return result def pull(self, remote, **opts): - return run_remote_action(self.context, self.git.pull, remote, - pull=True, **opts) + result = run_remote_action( + self.context, self.git.pull, remote, pull=True, **opts) + # Pull can result in merge conflicts + self.update_refs() + self.update_files(update_index=False, emit=True) + return result def create_branch(self, name, base, track=False, force=False): """Create a branch named 'name' from revision 'base' @@ -409,7 +423,7 @@ if value == self.ref_sort: return self.ref_sort = value - self._update_branches_and_tags() + self.update_refs() # Helpers diff -Nru git-cola-3.5/cola/models/prefs.py git-cola-3.6/cola/models/prefs.py --- git-cola-3.5/cola/models/prefs.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/models/prefs.py 2019-11-27 08:36:53.000000000 +0000 @@ -1,5 +1,4 @@ from __future__ import division, absolute_import, unicode_literals - import sys from .. import core @@ -9,6 +8,7 @@ from ..cmd import Command +AUTOTEMPLATE = 'cola.autoloadcommittemplate' BACKGROUND_EDITOR = 'cola.backgroundeditor' BLAME_VIEWER = 'cola.blameviewer' BOLD_HEADERS = 'cola.boldheaders' @@ -48,6 +48,7 @@ class Defaults(object): """Read-only class for holding defaults that get overridden""" # These should match Git's defaults for git-defined values. + autotemplate = False blame_viewer = 'git gui blame' bold_headers = False check_conflicts = True diff -Nru git-cola-3.5/cola/ordered_dict.py git-cola-3.6/cola/ordered_dict.py --- git-cola-3.5/cola/ordered_dict.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/ordered_dict.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,265 +0,0 @@ -"""Backport of OrderedDict() class - -Runs on Python 2.4, 2.5, 2.6, 2.7, 3.x and pypy. - -Passes Python2.7's test suite and incorporates all the latest updates. -Copyright 2009 Raymond Hettinger, released under the MIT License. -http://code.activestate.com/recipes/576693/ - -""" -from __future__ import absolute_import, division, unicode_literals -try: - # Python2's "thread" module must be tried first - from thread import get_ident as _get_ident -except ImportError: - # Python2 also contains a "threading" module, but it does not - # contain get_ident(), so this part would fail if it were done first. - # get_ident() become available in the consolidated "threading" module - # until Python3. - from threading import get_ident as _get_ident - - -class OrderedDict(dict): - 'Dictionary that remembers insertion order' - # An inherited dict maps keys to values. - # The inherited dict provides __getitem__, __len__, __contains__, and get. - # The remaining methods are order-aware. - # Big-O runtimes for all methods are the same as for regular dictionaries. - - # The self.__map dictionary maps keys to links in a doubly linked list. - # The circular doubly linked list starts and ends with a sentinel element. - # The sentinel element never gets deleted (this simplifies the algorithm). - # Each link is stored as a list of length three: [PREV, NEXT, KEY]. - - # pylint: disable=super-init-not-called - def __init__(self, *args, **kwds): - '''Initialize an ordered dictionary. Signature is the same as for - regular dictionaries, but keyword arguments are not recommended - because their insertion order is arbitrary. - - ''' - if len(args) > 1: - raise TypeError('expected at most 1 arguments, got %d' % len(args)) - try: - self.__root - except AttributeError: - self.__root = root = [] # sentinel node - root[:] = [root, root, None] - self.__map = {} - self.__update(*args, **kwds) - - def __setitem__(self, key, value, dict_setitem=dict.__setitem__): - 'od.__setitem__(i, y) <==> od[i]=y' - # Setting a new item creates a new link which at the end of the linked - # list, and the inherited dictionary is updated. - if key not in self: - root = self.__root - last = root[0] - last[1] = root[0] = self.__map[key] = [last, root, key] - dict_setitem(self, key, value) - - def __delitem__(self, key, dict_delitem=dict.__delitem__): - 'od.__delitem__(y) <==> del od[y]' - # Deleting an existing item uses self.__map to find the link which is - # then removed by updating the links in the predecessor and - # successor nodes. - dict_delitem(self, key) - link_prev, link_next, key = self.__map.pop(key) - link_prev[1] = link_next - link_next[0] = link_prev - - def __iter__(self): - 'od.__iter__() <==> iter(od)' - root = self.__root - curr = root[1] - while curr is not root: - yield curr[2] - curr = curr[1] - - def __reversed__(self): - 'od.__reversed__() <==> reversed(od)' - root = self.__root - curr = root[0] - while curr is not root: - yield curr[2] - curr = curr[0] - - def clear(self): - 'od.clear() -> None. Remove all items from od.' - try: - for node in self.__map.values(): - del node[:] - root = self.__root - root[:] = [root, root, None] - self.__map.clear() - except AttributeError: - pass - dict.clear(self) - - def popitem(self, last=True): - '''od.popitem() -> (k, v), return and remove a (key, value) pair. - Pairs are returned in LIFO order if last is true or FIFO order if false. - - ''' - if not self: - raise KeyError('dictionary is empty') - root = self.__root - if last: - link = root[0] - link_prev = link[0] - link_prev[1] = root - root[0] = link_prev - else: - link = root[1] - link_next = link[1] - root[1] = link_next - link_next[0] = root - key = link[2] - del self.__map[key] - value = dict.pop(self, key) - return key, value - - # -- the following methods do not depend on the internal structure -- - - def keys(self): - 'od.keys() -> list of keys in od' - return list(self) - - def values(self): - 'od.values() -> list of values in od' - return [self[key] for key in self] - - def items(self): - 'od.items() -> list of (key, value) pairs in od' - return [(key, self[key]) for key in self] - - def iterkeys(self): - 'od.iterkeys() -> an iterator over the keys in od' - return iter(self) - - def itervalues(self): - 'od.itervalues -> an iterator over the values in od' - for k in self: - yield self[k] - - def iteritems(self): - 'od.iteritems -> an iterator over the (key, value) items in od' - for k in self: - yield (k, self[k]) - - # pylint: disable=no-method-argument - def update(*args, **kwds): - '''od.update(E, **F) -> None. Update od from dict/iterable E and F. - - If E is a dict instance, does: for k in E: od[k] = E[k] - If E has a .keys() method, does: for k in E.keys(): od[k] = E[k] - Or if E is an iterable of items, does: for k, v in E: od[k] = v - In either case, this is followed by: for k, v in F.items(): od[k] = v - - ''' - if len(args) > 2: - raise TypeError('update() takes at most 2 positional ' - 'arguments (%d given)' % (len(args),)) - if not args: - raise TypeError('update() takes at least 1 argument (0 given)') - self = args[0] - # Make progressively weaker assumptions about "other" - other = () - if len(args) == 2: - other = args[1] - if isinstance(other, dict): - for key in other: - self[key] = other[key] - elif hasattr(other, 'keys'): - for key in other.keys(): - self[key] = other[key] - else: - for key, value in other: - self[key] = value - for key, value in kwds.items(): - self[key] = value - - # let subclasses override update without breaking __init__ - __update = update - - __marker = object() - - def pop(self, key, default=__marker): - '''od.pop(k[,d]) -> v, remove specified key and return the value. - - If key is not found, d is returned if given, otherwise - KeyError is raised. - - ''' - if key in self: - result = self[key] - del self[key] - return result - if default is self.__marker: - raise KeyError(key) - return default - - def setdefault(self, key, default=None): - 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od' - if key in self: - return self[key] - self[key] = default - return default - - # pylint: disable=dangerous-default-value - def __repr__(self, _repr_running={}): - 'od.__repr__() <==> repr(od)' - call_key = id(self), _get_ident() - if call_key in _repr_running: - return '...' - _repr_running[call_key] = 1 - try: - if not self: - return '%s()' % (self.__class__.__name__,) - items = list(self.items()) - return '%s(%r)' % (self.__class__.__name__, items) - finally: - del _repr_running[call_key] - - def __reduce__(self): - 'Return state information for pickling' - items = [[k, self[k]] for k in self] - inst_dict = vars(self).copy() - for k in vars(OrderedDict()): - inst_dict.pop(k, None) - if inst_dict: - return (self.__class__, (items,), inst_dict) - return self.__class__, (items,) - - def copy(self): - 'od.copy() -> a shallow copy of od' - return self.__class__(self) - - @classmethod - def fromkeys(cls, iterable, value=None): - '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S - and values equal to v (which defaults to None). - - ''' - d = cls() - for key in iterable: - d[key] = value - return d - - def __hash__(self): - """Stable hash value""" - # pylint: disable=dict-items-not-iterating - return hash(frozenset(self.items())) - - def __eq__(self, other): - '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive - while comparison to a regular mapping is order-insensitive. - - ''' - if isinstance(other, OrderedDict): - return (len(self) == len(other) - and list(self.items()) == list(other.items())) - return dict.__eq__(self, other) - - def __ne__(self, other): - return not self == other diff -Nru git-cola-3.5/cola/qtutils.py git-cola-3.6/cola/qtutils.py --- git-cola-3.5/cola/qtutils.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/qtutils.py 2019-11-27 08:36:53.000000000 +0000 @@ -313,6 +313,7 @@ for name, value in inputs: lineedit = QtWidgets.QLineEdit() # Enable the OK button only when all fields have been populated + # pylint: disable=no-member lineedit.textChanged.connect( lambda x: ok_b.setEnabled(all(get_values()))) if value: @@ -658,17 +659,25 @@ button.setPopupMode(QtWidgets.QToolButton.InstantPopup) button.setCursor(Qt.PointingHandCursor) button.setFocusPolicy(Qt.NoFocus) + # Highlight colors + palette = QtGui.QPalette() + highlight = palette.color(QtGui.QPalette.Highlight) + highlight_rgb = rgb_css(highlight) + button.setStyleSheet(""" /* No borders */ QToolButton { - border: 0; - border-style: none; + border: none; + background-color: none; } /* Hide the menu indicator */ QToolButton::menu-indicator { image: none; } - """) + QToolButton:hover { + border: %(border)spx solid %(highlight_rgb)s; + } + """ % dict(border=defs.border, highlight_rgb=highlight_rgb)) return button @@ -751,7 +760,7 @@ else: separator = SKIPPED - self.main_layout = hbox(defs.small_margin, defs.spacing, + self.main_layout = hbox(defs.small_margin, defs.titlebar_spacing, qlabel, separator, self.corner_layout, self.toggle_button, self.close_button) self.setLayout(self.main_layout) diff -Nru git-cola-3.5/cola/_version.py git-cola-3.6/cola/_version.py --- git-cola-3.5/cola/_version.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/_version.py 2019-11-27 08:36:53.000000000 +0000 @@ -1 +1 @@ -VERSION = '3.5' +VERSION = '3.6' diff -Nru git-cola-3.5/cola/widgets/about.py git-cola-3.6/cola/widgets/about.py --- git-cola-3.5/cola/widgets/about.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/about.py 2019-11-27 08:36:53.000000000 +0000 @@ -254,29 +254,37 @@ email=mailto('Vdragon.Taiwan@gmail.com', contact, palette)), dict(name='Efimov Vasily', title=N_('Developer')), dict(name='Guillaume de Bure', title=N_('Developer')), + dict(name='Javier Rodriguez Cuevas', title=N_('Developer')), dict(name='Uri Okrent', title=N_('Developer')), dict(name='Alex Chernetz', title=N_('Developer')), + dict(name='xhl', title=N_('Developer')), dict(name='Andreas Sommer', title=N_('Developer')), dict(name='Thomas Kluyver', title=N_('Developer')), - dict(name='Javier Rodriguez Cuevas', title=N_('Developer')), dict(name='Minarto Margoliono', title=N_('Developer')), dict(name='Szymon Judasz', title=N_('Developer')), dict(name='Ville Skyttä', title=N_('Developer')), + dict(name='jm4R', title=N_('Developer')), dict(name='Igor Galarraga', title=N_('Developer')), dict(name='Stanislaw Halik', title=N_('Developer')), dict(name='Virgil Dupras', title=N_('Developer')), dict(name='Barry Roberts', title=N_('Developer')), dict(name='wsdfhjxc', title=N_('Developer')), - dict(name='xhl', title=N_('Developer')), + dict(name='林博仁(Buo-ren Lin)', title=N_('Developer')), + dict(name='Guo Yunhe', title=N_('Developer')), + dict(name='cclauss', title=N_('Developer')), dict(name='Stefan Naewe', title=N_('Developer')), + dict(name='Victor Nepveu', title=N_('Developer')), dict(name='Benedict Lee', title=N_('Developer')), dict(name='Filip Danilović', title=N_('Developer')), + dict(name='NotSqrt', title=N_('Developer')), dict(name='Pavel Rehak', title=N_('Developer')), dict(name='Steffen Prohaska', title=N_('Developer')), + dict(name='Tim Brown', title=N_('Developer')), dict(name='Michael Geddes', title=N_('Developer')), dict(name='Rustam Safin', title=N_('Developer')), dict(name='Alex Gulyás', title=N_('Developer')), dict(name='David Martínez Martí', title=N_('Developer')), + dict(name='Hualiang Xie', title=N_('Developer')), dict(name='Justin Lecher', title=N_('Developer')), dict(name='Kai Krakow', title=N_('Developer')), dict(name='Karl Bielefeldt', title=N_('Developer')), @@ -284,12 +292,14 @@ dict(name='Michael Homer', title=N_('Developer')), dict(name='Sebastian Schuberth', title=N_('Developer')), dict(name='Sven Claussner', title=N_('Developer')), + dict(name='bsomers', title=N_('Developer')), dict(name='real', title=N_('Developer')), dict(name='v.paritskiy', title=N_('Developer')), - dict(name='林博仁(Buo-ren Lin)', title=N_('Developer')), + dict(name='0xflotus', title=N_('Developer')), dict(name='AJ Bagwell', title=N_('Developer')), dict(name='Adrien be', title=N_('Developer')), dict(name='Andrej', title=N_('Developer')), + dict(name='Arthur Coelho', title=N_('Developer')), dict(name='Audrius Karabanovas', title=N_('Developer')), dict(name='Barrett Lowe', title=N_('Developer')), dict(name='Ben Boeckel', title=N_('Developer')), @@ -300,6 +310,7 @@ dict(name='Daniel King', title=N_('Developer')), dict(name='Daniel Pavel', title=N_('Developer')), dict(name='David Zumbrunnen', title=N_('Developer')), + dict(name='Felipe Morales', title=N_('Developer')), dict(name='George Vasilakos', title=N_('Developer')), dict(name='Ilya Tumaykin', title=N_('Developer')), dict(name='Iulian Udrea', title=N_('Developer')), @@ -307,6 +318,7 @@ dict(name='Jakub Szymański', title=N_('Developer')), dict(name='Jamie Pate', title=N_('Developer')), dict(name='Jean-Francois Dagenais', title=N_('Developer')), + dict(name='Joachim Lusiardi', title=N_('Developer')), dict(name='Karthik Manamcheri', title=N_('Developer')), dict(name='Kelvie Wong', title=N_('Developer')), dict(name='Kyle', title=N_('Developer')), @@ -324,9 +336,12 @@ dict(name='Philip Stark', title=N_('Developer')), dict(name='Radek Postołowicz', title=N_('Developer')), dict(name='Rainer Müller', title=N_('Developer')), + dict(name='Ricardo J. Barberis', title=N_('Developer')), dict(name='Rolando Espinoza', title=N_('Developer')), dict(name="Samsul Ma'arif", title=N_('Developer')), dict(name='Sebastian Brass', title=N_('Developer')), + dict(name='Simon Peeters', title=N_('Developer')), + dict(name='Stephen', title=N_('Developer')), dict(name='Vaibhav Sagar', title=N_('Developer')), dict(name='Ved Vyas', title=N_('Developer')), dict(name='Voicu Hodrea', title=N_('Developer')), @@ -360,6 +375,8 @@ email=mailto('Vdragon.Taiwan@gmail.com', contact, palette)), dict(name='Pavel Rehak', title=N_('Czech translation')), + dict(name='Victorhck', + title=N_('Spanish translation')), dict(name='Vitor Lobo', title=N_('Brazilian translation')), dict(name='Zhang Han', @@ -368,18 +385,26 @@ title=N_('Ukranian translation')), dict(name='Barış ÇELİK', title=N_('Turkish translation')), + dict(name='Guo Yunhe', + title=N_('Simplified Chinese translation')), dict(name='Minarto Margoliono', title=N_('Indonesian translation')), dict(name='Rafael Nascimento', title=N_('Brazilian translation')), + dict(name='Shun Sakai', + title=N_('Japanese translation')), dict(name='Sven Claussner', title=N_('German translation')), dict(name='Vaiz', title=N_('Russian translation')), - dict(name='Victorhck', - title=N_('Spanish translation')), - dict(name='Guo Yunhe', - title=N_('Simplified Chinese translation')), + dict(name='adlgrbz', + title=N_('Turkish translation')), + dict(name='fu7mu4', + title=N_('Japanese translation')), + dict(name='Gyuris Gellért', + title=N_('Hungarian translation')), + dict(name='Joachim Lusiardi', + title=N_('German translation')), dict(name='Kai Krakow', title=N_('German translation')), dict(name='Louis Rousseau', @@ -390,6 +415,10 @@ title=N_('Traditional Chinese (Taiwan) translation')), dict(name='Pilar Molina Lopez', title=N_('Spanish translation')), + dict(name='Rafael Reuber', + title=N_('Brazilian translation')), + dict(name='Sabri Ünal', + title=N_('Turkish translation')), dict(name="Samsul Ma'arif", title=N_('Indonesian translation')), dict(name='Zeioth', @@ -400,6 +429,8 @@ title=N_('Czech translation')), dict(name='Łukasz Wojniłowicz', title=N_('Polish translation')), + dict(name='林博仁(Buo-ren Lin)', + title=N_('Traditional Chinese (Taiwan) translation')), ) bug_url = 'https://github.com/git-cola/git-cola/issues' @@ -445,11 +476,11 @@ html = core.read(hotkeys_html) parent = qtutils.active_window() - widget = QtWidgets.QDialog() + widget = QtWidgets.QDialog(parent) widget.setWindowModality(Qt.WindowModal) widget.setWindowTitle(N_('Shortcuts')) - web = QtWebEngineWidgets.QWebEngineView(parent) + web = QtWebEngineWidgets.QWebEngineView() web.setHtml(html) layout = qtutils.hbox(defs.no_margin, defs.spacing, web) diff -Nru git-cola-3.5/cola/widgets/archive.py git-cola-3.6/cola/widgets/archive.py --- git-cola-3.5/cola/widgets/archive.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/archive.py 2019-11-27 08:36:53.000000000 +0000 @@ -165,6 +165,7 @@ self.update_format(idx) # connections + # pylint: disable=no-member self.filetext.textChanged.connect(self.filetext_changed) self.prefix_text.textChanged.connect(self.prefix_text_changed) self.format_combo.currentIndexChanged.connect(self.update_format) diff -Nru git-cola-3.5/cola/widgets/bookmarks.py git-cola-3.6/cola/widgets/bookmarks.py --- git-cola-3.5/cola/widgets/bookmarks.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/bookmarks.py 2019-11-27 08:36:53.000000000 +0000 @@ -80,6 +80,7 @@ qtutils.connect_button(self.open_button, self.tree.open_repo) item_selection_changed = self.tree_item_selection_changed + # pylint: disable=no-member self.tree.itemSelectionChanged.connect(item_selection_changed) QtCore.QTimer.singleShot(0, self.reload_bookmarks) @@ -102,8 +103,10 @@ return False +# pylint: disable=too-many-ancestors class BookmarksTreeWidget(standard.TreeWidget): default_changed = Signal() + worktree_changed = Signal() def __init__(self, context, style, settings, parent=None): standard.TreeWidget.__init__(self, parent=parent) @@ -150,6 +153,10 @@ self.copy_action = qtutils.add_action( self, N_('Copy'), self.copy, hotkeys.COPY) + self.delete_action = qtutils.add_action( + self, N_('Delete'), self.delete_bookmark) + + # pylint: disable=no-member self.itemChanged.connect(self.item_changed) self.itemSelectionChanged.connect(self.item_selection_changed) self.itemDoubleClicked.connect(self.tree_double_clicked) @@ -160,11 +167,19 @@ self.launch_editor_action, self.launch_terminal_action, self.open_default_action, - self.rename_repo_action) + self.rename_repo_action, + self.delete_action) self.action_group.setEnabled(False) self.set_default_repo_action.setEnabled(False) self.clear_default_repo_action.setEnabled(False) + # Connections + if style == RECENT_REPOS: + self.worktree_changed.connect(self.refresh, + type=Qt.QueuedConnection) + context.model.add_observer(context.model.message_worktree_changed, + self.worktree_changed.emit) + def refresh(self): context = self.context settings = self.settings @@ -175,6 +190,7 @@ entries = settings.bookmarks # recent items elif self.style == RECENT_REPOS: + settings.reload_recent() entries = settings.recent items = [builder.get(entry['path'], entry['name']) for entry in entries] @@ -201,6 +217,8 @@ else: menu.addAction(self.set_default_repo_action) menu.addAction(self.rename_repo_action) + menu.addSeparator() + menu.addAction(self.delete_action) menu.exec_(self.mapToGlobal(event.pos())) def item_changed(self, item, _index): diff -Nru git-cola-3.5/cola/widgets/branch.py git-cola-3.6/cola/widgets/branch.py --- git-cola-3.5/cola/widgets/branch.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/branch.py 2019-11-27 08:36:53.000000000 +0000 @@ -6,7 +6,6 @@ from qtpy.QtCore import Qt from qtpy.QtCore import Signal -from ..compat import odict from ..compat import uchr from ..i18n import N_ from ..interaction import Interaction @@ -21,12 +20,6 @@ from .text import LineEdit -SLASH = '/' -NAME_LOCAL_BRANCH = N_('Local') -NAME_REMOTE_BRANCH = N_('Remote') -NAME_TAGS_BRANCH = N_('Tags') - - def defer_fn(parent, title, fn, *args, **kwargs): return qtutils.add_action(parent, title, partial(fn, *args, **kwargs)) @@ -46,15 +39,12 @@ class AsyncGitActionTask(qtutils.Task): """Run git action asynchronously""" - def __init__(self, parent, git_helper, action, args, kwarg, - refresh_tree, update_remotes): + def __init__(self, parent, git_helper, action, args, kwarg): qtutils.Task.__init__(self, parent) self.git_helper = git_helper self.action = action self.args = args self.kwarg = kwarg - self.refresh_tree = refresh_tree - self.update_remotes = update_remotes def task(self): """Runs action and captures the result""" @@ -124,14 +114,15 @@ self.tree.refresh() +# pylint: disable=too-many-ancestors class BranchesTreeWidget(standard.TreeWidget): updated = Signal() def __init__(self, context, parent=None): standard.TreeWidget.__init__(self, parent) + model = context.model self.context = context - self.main_model = model = context.model self.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection) self.setHeaderHidden(True) @@ -150,6 +141,7 @@ model.add_observer(model.message_updated, self.updated.emit) # Expand items when they are clicked + # pylint: disable=no-member self.clicked.connect(self._toggle_expanded) # Checkout branch when double clicked @@ -158,31 +150,26 @@ def refresh(self): if not self._active: return - model = self.main_model + model = self.context.model self.current_branch = model.currentbranch states = self.save_tree_state() - - local_dict = self.tree_helper.group_branches( - model.local_branches, SLASH) - - remote_dict = self.tree_helper.group_branches( - model.remote_branches, SLASH) - - tags_dict = self.tree_helper.group_branches(model.tags, SLASH) - ellipsis = icons.ellipsis() - local = self.tree_helper.create_top_level_item( - NAME_LOCAL_BRANCH, local_dict, - icon=icons.branch(), ellipsis=ellipsis) - - remote = self.tree_helper.create_top_level_item( - NAME_REMOTE_BRANCH, remote_dict, - icon=icons.branch(), ellipsis=ellipsis) - - tags = self.tree_helper.create_top_level_item( - NAME_TAGS_BRANCH, tags_dict, - icon=icons.tag(), ellipsis=ellipsis) + + local_tree = create_tree_entries(model.local_branches) + local_tree.basename = N_('Local') + local = create_toplevel_item( + local_tree, icon=icons.branch(), ellipsis=ellipsis) + + remote_tree = create_tree_entries(model.remote_branches) + remote_tree.basename = N_('Remote') + remote = create_toplevel_item( + remote_tree, icon=icons.branch(), ellipsis=ellipsis) + + tags_tree = create_tree_entries(model.tags) + tags_tree.basename = N_('Tags') + tags = create_toplevel_item( + tags_tree, icon=icons.tag(), ellipsis=ellipsis) self.clear() self.addTopLevelItems([local, remote, tags]) @@ -206,12 +193,12 @@ selected = self.selected_item() if not selected: return - root = self.tree_helper.get_root(selected) - - if selected.childCount() > 0 or not root: + # Only allow actions on leaf nodes that have a valid refname. + if not selected.refname: return - full_name = self.tree_helper.get_full_name(selected, SLASH) + root = get_toplevel_item(selected) + full_name = selected.refname menu = qtutils.create_menu(N_('Actions'), self) # all branches except current the current branch @@ -219,7 +206,7 @@ menu.addAction(qtutils.add_action( menu, N_('Checkout'), self.checkout_action)) # remote branch - if NAME_REMOTE_BRANCH == root.name: + if root.name == N_('Remote'): label = N_('Checkout as new branch') action = self.checkout_new_branch_action menu.addAction(qtutils.add_action(menu, label, action)) @@ -231,9 +218,9 @@ menu.addAction(merge_menu_action) # local and remote branch - if NAME_TAGS_BRANCH != root.name: + if root.name != N_('Tags'): # local branch - if NAME_LOCAL_BRANCH == root.name: + if root.name == N_('Local'): remote = gitcmds.tracked_branch(context, full_name) if remote is not None: @@ -259,7 +246,7 @@ # not current branch if full_name != self.current_branch: delete_label = N_('Delete Branch') - if NAME_REMOTE_BRANCH == root.name: + if root.name == N_('Remote'): delete_label = N_('Delete Remote Branch') delete_menu_action = qtutils.add_action( @@ -270,7 +257,7 @@ menu.addAction(delete_menu_action) # manage upstreams for local branches - if root.name == NAME_LOCAL_BRANCH: + if root.name == N_('Local'): upstream_menu = menu.addMenu(N_('Set Upstream Branch')) upstream_menu.setIcon(icons.branch()) self.build_upstream_menu(upstream_menu) @@ -280,9 +267,8 @@ def build_upstream_menu(self, menu): """Build the "Set Upstream Branch" sub-menu""" context = self.context - model = self.main_model - selected_item = self.selected_item() - selected_branch = self.tree_helper.get_full_name(selected_item, SLASH) + model = context.model + selected_branch = self.selected_refname() remote = None upstream = None @@ -359,10 +345,10 @@ context = self.context current_branch = self.current_branch top_item = self.topLevelItem(0) - item = self.tree_helper.find_child(top_item, current_branch) + item = find_by_refname(top_item, current_branch) if item is not None: - self.tree_helper.expand_from_item(item) + expand_item_parents(item) item.setIcon(0, icons.star()) tracked_branch = gitcmds.tracked_branch(context, current_branch) @@ -387,12 +373,10 @@ if status_str: item.setText(0, '%s\t%s' % (item.text(0), status_str)) - def git_action_async(self, action, args, kwarg=None, refresh_tree=False, - update_remotes=False): + def git_action_async(self, action, args, kwarg=None): if kwarg is None: kwarg = {} - task = AsyncGitActionTask(self, self.git_helper, action, args, kwarg, - refresh_tree, update_remotes) + task = AsyncGitActionTask(self, self.git_helper, action, args, kwarg) progress = standard.progress( N_('Executing action %s') % action, N_('Updating'), self) self.runtask.start(task, progress=progress, @@ -401,15 +385,11 @@ def git_action_completed(self, task): status, out, err = task.result self.git_helper.show_result(task.action, status, out, err) - if task.refresh_tree: - self.refresh() - if task.update_remotes: - model = self.main_model - model.update_remotes() + self.context.model.update_refs() def push_action(self): context = self.context - branch = self.tree_helper.get_full_name(self.selected_item(), SLASH) + branch = self.selected_refname() remote_branch = gitcmds.tracked_branch(context, branch) if remote_branch: remote, branch_name = gitcmds.parse_remote_branch(remote_branch) @@ -419,32 +399,32 @@ self.git_action_async('push', [remote, branch_name]) def rename_action(self): - branch = self.tree_helper.get_full_name(self.selected_item(), SLASH) - new_branch = qtutils.prompt( + branch = self.selected_refname() + new_branch, ok = qtutils.prompt( N_('Enter New Branch Name'), title=N_('Rename branch'), text=branch) - if new_branch[1] is True and new_branch[0]: - self.git_action_async('rename', [branch, new_branch[0]], - refresh_tree=True) + if ok and new_branch: + self.git_action_async('rename', [branch, new_branch]) def pull_action(self): context = self.context - branch = self.tree_helper.get_full_name(self.selected_item(), SLASH) + branch = self.selected_refname() + if not branch: + return remote_branch = gitcmds.tracked_branch(context, branch) if remote_branch: remote, branch_name = gitcmds.parse_remote_branch(remote_branch) if remote and branch_name: - self.git_action_async( - 'pull', [remote, branch_name], refresh_tree=True) + self.git_action_async('pull', [remote, branch_name]) def delete_action(self): - branch = self.tree_helper.get_full_name(self.selected_item(), SLASH) - if branch == self.current_branch: + branch = self.selected_refname() + if not branch or branch == self.current_branch: return remote = False - root = self.tree_helper.get_root(self.selected_item()) - if NAME_REMOTE_BRANCH == root.name: + root = get_toplevel_item(self.selected_item()) + if root.name == N_('Remote'): remote = True if remote: @@ -455,28 +435,31 @@ cmds.do(cmds.DeleteBranch, self.context, branch) def merge_action(self): - branch = self.tree_helper.get_full_name(self.selected_item(), SLASH) - - if branch != self.current_branch: - self.git_action_async('merge', [branch], refresh_tree=True) + branch = self.selected_refname() + if branch and branch != self.current_branch: + self.git_action_async('merge', [branch]) def checkout_action(self): - branch = self.tree_helper.get_full_name(self.selected_item(), SLASH) - if branch != self.current_branch: + branch = self.selected_refname() + if branch and branch != self.current_branch: self.git_action_async('checkout', [branch]) def checkout_new_branch_action(self): - branch = self.tree_helper.get_full_name(self.selected_item(), SLASH) - if branch != self.current_branch: + branch = self.selected_refname() + if branch and branch != self.current_branch: _, new_branch = gitcmds.parse_remote_branch(branch) self.git_action_async('checkout', ['-b', new_branch, branch]) + def selected_refname(self): + return getattr(self.selected_item(), 'refname', None) + class BranchTreeWidgetItem(QtWidgets.QTreeWidgetItem): - def __init__(self, name, icon=None): + def __init__(self, name, refname=None, icon=None): QtWidgets.QTreeWidgetItem.__init__(self) self.name = name + self.refname = refname self.setText(0, name) self.setToolTip(0, name) if icon is not None: @@ -492,95 +475,164 @@ return 1 -class BranchesTreeHelper(object): - @staticmethod - def group_branches(list_branches, separator_char): - """Convert a list of delimited strings to a nested tree dict""" - result = odict() - for item in list_branches: - tree = result - for part in item.split(separator_char): - tree = tree.setdefault(part, odict()) - - return result - - @staticmethod - def create_top_level_item(name, dict_children, - icon=None, ellipsis=None): - """Create a top level tree item and its children """ - - def create_children(grouped_branches): - """Create children items for a tree item""" - result = [] - for k, v in grouped_branches.items(): - item = BranchTreeWidgetItem(k, icon=icon) - item.addChildren(create_children(v)) +class TreeEntry(object): + """Tree representation for the branches widget - if item.childCount() > 0 and ellipsis is not None: - item.setIcon(0, ellipsis) + The branch widget UI displays the basename. For intermediate names, e.g. + "xxx" in the "xxx/abc" and "xxx/def" branches, the 'refname' will be None. + 'children' contains a list of TreeEntry, and is empty when refname is + defined. + + """ + def __init__(self, basename, refname, children): + self.basename = basename + self.refname = refname + self.children = children + + +def create_tree_entries(names): + """Create a nested tree structure with a single root TreeEntry. + + When names == ['xxx/abc', 'xxx/def'] the result will be:: + + TreeEntry( + basename=None, + refname=None, + children=[ + TreeEntry( + basename='xxx', + refname=None, + children=[ + TreeEntry( + basename='abc', + refname='xxx/abc', + children=[] + ), + TreeEntry( + basename='def', + refname='xxx/def', + children=[] + ) + ] + ) + ] + ) - result.append(item) + """ + # Phase 1: build a nested dictionary representing the intermediate + # names in the branches. e.g. {'xxx': {'abc': {}, 'def': {}}} + tree_names = create_name_dict(names) + + # Loop over the names again, this time we'll create tree entries + entries = {} + root = TreeEntry(None, None, []) + for item in names: + cur_names = tree_names + cur_entries = entries + tree = root + children = root.children + for part in item.split('/'): + if cur_names[part]: + # This has children + try: + tree, _ = cur_entries[part] + except KeyError: + # New entry + tree = TreeEntry(part, None, []) + cur_entries[part] = (tree, {}) + # Append onto the parent children list only once + children.append(tree) + else: + # This is the actual branch + tree = TreeEntry(part, item, []) + children.append(tree) + cur_entries[part] = (tree, {}) + + # Advance into the nested child list + children = tree.children + # Advance into the inner dict + cur_names = cur_names[part] + _, cur_entries = cur_entries[part] + + return root + + +def create_name_dict(names): + # Phase 1: build a nested dictionary representing the intermediate + # names in the branches. e.g. {'xxx': {'abc': {}, 'def': {}}} + tree_names = {} + for item in names: + part_names = tree_names + for part in item.split('/'): + # Descend into the inner names dict. + part_names = part_names.setdefault(part, {}) + return tree_names + + +def create_toplevel_item(tree, icon=None, ellipsis=None): + """Create a top-level BranchTreeWidgetItem and its children""" + + item = BranchTreeWidgetItem(tree.basename, icon=ellipsis) + children = create_tree_items(tree.children, icon=icon, ellipsis=ellipsis) + if children: + item.addChildren(children) + return item + + +def create_tree_items(entries, icon=None, ellipsis=None): + """Create children items for a tree item""" + result = [] + for tree in entries: + item = BranchTreeWidgetItem( + tree.basename, refname=tree.refname, icon=icon) + children = create_tree_items( + tree.children, icon=icon, ellipsis=ellipsis) + if children: + item.addChildren(children) + if ellipsis is not None: + item.setIcon(0, ellipsis) + result.append(item) + + return result + + +def expand_item_parents(item): + """Expand tree parents from item""" + parent = item.parent() + while parent is not None: + parent.setExpanded(True) + parent = parent.parent() + + +def find_by_refname(item, refname): + """Find child by full name recursive""" + result = None + + for i in range(item.childCount()): + child = item.child(i) + if child.refname and child.refname == refname: + return child + result = find_by_refname(child, refname) + if result is not None: return result - branch = BranchTreeWidgetItem(name, icon=ellipsis) - branch.addChildren(create_children(dict_children)) - - return branch + return result - @staticmethod - def get_root(item): - """Returns top level item from an item""" - parents = [item] - parent = item.parent() - - while parent is not None: - parents.append(parent) - parent = parent.parent() - return parents[len(parents) - 1] +def get_toplevel_item(item): + """Returns top-most item found by traversing up the specified item""" + parents = [item] + parent = item.parent() - @staticmethod - def get_full_name(item, join_char): - """Returns item full name generated by iterating over - parents and joining their names with 'join_char'""" - parents = [item.name] - parent = item.parent() - - while parent is not None: - parents.append(parent.name) - parent = parent.parent() + while parent is not None: + parents.append(parent) + parent = parent.parent() - result = join_char.join(reversed(parents)) + return parents[-1] - return result[result.find(join_char) + 1:] - @staticmethod - def expand_from_item(item): - """Expand tree parents from item""" - parent = item.parent() - - while parent is not None: - parent.setExpanded(True) - parent = parent.parent() - - def find_child(self, top_level_item, name): - """Find child by full name recursive""" - result = None - - for i in range(top_level_item.childCount()): - child = top_level_item.child(i) - full_name = self.get_full_name(child, SLASH) - - if full_name == name: - result = child - return result - else: - result = self.find_child(child, name) - if result is not None: - return result - - return result +class BranchesTreeHelper(object): def load_state(self, item, state): """Load expanded items from a dict""" @@ -650,6 +702,7 @@ self.setLayout(self.main_layout) text = self.text + # pylint: disable=no-member text.textChanged.connect(self.apply_filter) self.tree.updated.connect(self.apply_filter, type=Qt.QueuedConnection) diff -Nru git-cola-3.5/cola/widgets/browse.py git-cola-3.6/cola/widgets/browse.py --- git-cola-3.5/cola/widgets/browse.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/browse.py 2019-11-27 08:36:53.000000000 +0000 @@ -101,6 +101,7 @@ self.setWindowTitle(title) +# pylint: disable=too-many-ancestors class RepoTreeView(standard.TreeView): """Provides a filesystem-like view of a git repository.""" @@ -129,11 +130,10 @@ model.add_observer(model.message_about_to_update, self.emit_about_to_update) model.add_observer(model.message_updated, self.emit_update) - + # pylint: disable=no-member self.about_to_update.connect(self.save_selection, type=Qt.QueuedConnection) self.updated.connect(self.update_actions, type=Qt.QueuedConnection) - self.expanded.connect(self.index_expanded) self.collapsed.connect(lambda idx: self.size_columns()) @@ -651,6 +651,7 @@ self.save.setEnabled(bool(filenames)) +# pylint: disable=too-many-ancestors class GitTreeWidget(standard.TreeView): selection_changed = Signal() @@ -659,6 +660,7 @@ def __init__(self, parent=None): standard.TreeView.__init__(self, parent) self.setHeaderHidden(True) + # pylint: disable=no-member self.doubleClicked.connect(self.double_clicked) def double_clicked(self, index): diff -Nru git-cola-3.5/cola/widgets/cfgactions.py git-cola-3.6/cola/widgets/cfgactions.py --- git-cola-3.5/cola/widgets/cfgactions.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/cfgactions.py 2019-11-27 08:36:53.000000000 +0000 @@ -91,6 +91,7 @@ QtWidgets.QDialogButtonBox.AcceptRole) # Connect the signals to the process + # pylint: disable=no-member self.proc.readyReadStandardOutput.connect(self.read_stdout) self.proc.readyReadStandardError.connect(self.read_stderr) self.proc.finished.connect(self.proc_finished) @@ -249,6 +250,7 @@ self.revselect, self.btnlayt) self.setLayout(self.layt) + # pylint: disable=no-member self.argstxt.textChanged.connect(self._argstxt_changed) qtutils.connect_button(self.closebtn, self.reject) qtutils.connect_button(self.runbtn, self.accept) @@ -306,6 +308,7 @@ self._rev_list) self.setLayout(self._layt) + # pylint: disable=no-member self._rev_list.itemSelectionChanged.connect(self.selection_changed) def revision(self): diff -Nru git-cola-3.5/cola/widgets/clone.py git-cola-3.6/cola/widgets/clone.py --- git-cola-3.5/cola/widgets/clone.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/clone.py 2019-11-27 08:36:53.000000000 +0000 @@ -137,6 +137,7 @@ qtutils.connect_button(self.close_button, self.close) qtutils.connect_button(self.ok_button, self.prepare_to_clone) + # pylint: disable=no-member self.url.textChanged.connect(lambda x: self.update_actions()) self.init_state(settings, self.resize, 720, 200) diff -Nru git-cola-3.5/cola/widgets/commitmsg.py git-cola-3.6/cola/widgets/commitmsg.py --- git-cola-3.5/cola/widgets/commitmsg.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/commitmsg.py 2019-11-27 08:36:53.000000000 +0000 @@ -194,6 +194,7 @@ # description starts at line 2 lambda row, col: self.cursor_changed.emit(row + 2, col)) + # pylint: disable=no-member self.summary.textChanged.connect(self.commit_summary_changed) self.description.textChanged.connect(self._commit_message_changed) self.description.leave.connect(self.focus_summary) @@ -557,6 +558,7 @@ self._comment_char = None self._cfg = cfg = context.cfg self.refresh() + # pylint: disable=no-member self.config_updated.connect(self.refresh, type=Qt.QueuedConnection) cfg.add_observer(cfg.message_updated, self.emit_config_updated) self.destroyed.connect(self.teardown) @@ -600,6 +602,7 @@ menu.exec_(self.mapToGlobal(event.pos())) +# pylint: disable=too-many-ancestors class CommitMessageTextEdit(SpellCheckTextEdit): leave = Signal() diff -Nru git-cola-3.5/cola/widgets/compare.py git-cola-3.6/cola/widgets/compare.py --- git-cola-3.5/cola/widgets/compare.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/compare.py 2019-11-27 08:36:53.000000000 +0000 @@ -101,6 +101,7 @@ connect_button(self.button_close, self.accept) connect_button(self.button_compare, self.compare) + # pylint: disable=no-member self.diff_files.itemDoubleClicked.connect(lambda _: self.compare()) self.left_combo.currentIndexChanged.connect( lambda x: self.update_combo_boxes(left=True)) diff -Nru git-cola-3.5/cola/widgets/completion.py git-cola-3.6/cola/widgets/completion.py --- git-cola-3.5/cola/widgets/completion.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/completion.py 2019-11-27 08:36:53.000000000 +0000 @@ -110,6 +110,7 @@ self._delegate = HighlightDelegate(self) completer.popup().setItemDelegate(self._delegate) + # pylint: disable=no-member self.textChanged.connect(self._text_changed) self._completer.activated.connect(self.choose_completion) self._completion_model.updated.connect(self._completions_updated, @@ -519,9 +520,11 @@ def __init__(self, context, parent): CompletionModel.__init__(self, context, parent) - self.main_model = model = context.model - msg = model.message_updated - model.add_observer(msg, self.emit_model_updated) + self.context = context + model = context.model + model.add_observer(model.message_updated, self.emit_model_updated) + # pylint: disable=no-member + self.destroyed.connect(self.dispose) def gather_matches(self, case_sensitive): refs = filter_matches(self.match_text, self.matches(), case_sensitive, @@ -540,7 +543,7 @@ def dispose(self): super(GitCompletionModel, self).dispose() - self.main_model.remove_observer(self.emit_model_updated) + self.context.model.remove_observer(self.emit_model_updated) class GitRefCompletionModel(GitCompletionModel): @@ -548,9 +551,11 @@ def __init__(self, context, parent): GitCompletionModel.__init__(self, context, parent) + model = context.model + model.add_observer(model.message_refs_updated, self.emit_model_updated) def matches(self): - model = self.main_model + model = self.context.model return model.local_branches + model.remote_branches + model.tags @@ -578,7 +583,7 @@ """Completer for naming new branches""" def matches(self): - model = self.main_model + model = self.context.model potential_branches = find_potential_branches(model) return (model.local_branches + potential_branches + @@ -589,7 +594,7 @@ """Completer for git checkout """ def matches(self): - model = self.main_model + model = self.context.model potential_branches = find_potential_branches(model) return (model.local_branches + potential_branches + @@ -604,7 +609,7 @@ GitCompletionModel.__init__(self, context, parent) def matches(self): - model = self.main_model + model = self.context.model return model.local_branches @@ -615,7 +620,7 @@ GitCompletionModel.__init__(self, context, parent) def matches(self): - model = self.main_model + model = self.context.model return model.remote_branches @@ -643,7 +648,7 @@ GitPathCompletionModel.__init__(self, context, parent) def candidate_paths(self): - model = self.main_model + model = self.context.model return (model.staged + model.unmerged + model.modified + model.untracked) diff -Nru git-cola-3.5/cola/widgets/createbranch.py git-cola-3.6/cola/widgets/createbranch.py --- git-cola-3.5/cola/widgets/createbranch.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/createbranch.py 2019-11-27 08:36:53.000000000 +0000 @@ -198,6 +198,7 @@ qtutils.connect_toggle(self.tag_radio, self.display_model) branches = self.branch_list + # pylint: disable=no-member branches.itemSelectionChanged.connect(self.branch_item_changed) thread = self.thread @@ -332,3 +333,7 @@ else: value = [] return value + + def dispose(self): + self.branch_name.dispose() + self.revision.dispose() diff -Nru git-cola-3.5/cola/widgets/dag.py git-cola-3.6/cola/widgets/dag.py --- git-cola-3.5/cola/widgets/dag.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/dag.py 2019-11-27 08:36:53.000000000 +0000 @@ -331,6 +331,7 @@ self.setText(2, commit.authdate) +# pylint: disable=too-many-ancestors class CommitTreeWidget(standard.TreeWidget, ViewerMixin): diff_commits = Signal(object, object) @@ -361,7 +362,7 @@ self, N_('Zoom to Fit'), self.zoom_to_fit.emit, hotkeys.FIT) notifier.add_observer(diff.COMMITS_SELECTED, self.commits_selected) - + # pylint: disable=no-member self.itemSelectionChanged.connect(self.selection_changed) def export_state(self): @@ -620,6 +621,7 @@ self.graphview.diff_commits.connect(self.diff_commits) self.filewidget.grab_file.connect(self.grab_file) + # pylint: disable=no-member self.maxresults.editingFinished.connect(self.display) self.revtext.textChanged.connect(self.text_changed) @@ -1298,6 +1300,7 @@ current_width += text_rect.width() + spacing +# pylint: disable=too-many-ancestors class GraphView(QtWidgets.QGraphicsView, ViewerMixin): diff_commits = Signal(object, object) diff -Nru git-cola-3.5/cola/widgets/defs.py git-cola-3.6/cola/widgets/defs.py --- git-cola-3.5/cola/widgets/defs.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/defs.py 2019-11-27 08:36:53.000000000 +0000 @@ -20,10 +20,11 @@ no_spacing = 0 spacing = scale(4) +titlebar_spacing = scale(8) +button_spacing = scale(12) cursor_width = scale(2) handle_width = scale(4) -button_spacing = scale(12) tool_button_height = scale(28) small_icon = scale(12) diff -Nru git-cola-3.5/cola/widgets/diff.py git-cola-3.6/cola/widgets/diff.py --- git-cola-3.5/cola/widgets/diff.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/diff.py 2019-11-27 08:36:53.000000000 +0000 @@ -159,6 +159,7 @@ self.setCurrentBlockState(state) +# pylint: disable=too-many-ancestors class DiffTextEdit(VimHintedPlainTextEdit): def __init__(self, context, parent, @@ -174,7 +175,7 @@ else: self.numbers = None self.scrollvalue = None - + # pylint: disable=no-member self.cursorPositionChanged.connect(self._cursor_changed) def _cursor_changed(self): @@ -381,6 +382,7 @@ # Observe images images_msg = model.message_images_changed model.add_observer(images_msg, self.images_changed.emit) + # pylint: disable=no-member self.images_changed.connect(self.set_images, type=Qt.QueuedConnection) # Observe the diff type @@ -636,6 +638,7 @@ self.widget.update_options() +# pylint: disable=too-many-ancestors class DiffEditor(DiffTextEdit): up = Signal() @@ -674,6 +677,7 @@ selection_model.add_observer( selection_model.message_selection_changed, self.updated.emit) + # pylint: disable=no-member self.updated.connect(self.refresh, type=Qt.QueuedConnection) # Update the selection model when the cursor changes self.cursorPositionChanged.connect(self._update_line_number) diff -Nru git-cola-3.5/cola/widgets/editremotes.py git-cola-3.6/cola/widgets/editremotes.py --- git-cola-3.5/cola/widgets/editremotes.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/editremotes.py 2019-11-27 08:36:53.000000000 +0000 @@ -129,6 +129,7 @@ thread = self.info_thread thread.result.connect(self.set_info, type=Qt.QueuedConnection) + # pylint: disable=no-member self.editor.remote_name.returnPressed.connect(self.save) self.editor.remote_url.returnPressed.connect(self.save) self.editor.valid.connect(self.editor_valid) @@ -256,7 +257,9 @@ def add(self): if add_remote(self.context, self): - self.refresh() + self.refresh(select=False) + # Newly added remote will be last; select it + self.select_remote(len(self.remote_list) - 1) def delete(self): remote = qtutils.selected_item(self.remotes, self.remote_list) @@ -350,13 +353,8 @@ if remote is None: return git = self.context.git - _, out, err = git.remote('show', remote) - # This call takes a long time and we may have selected a - # different remote... - if remote == self.remote: - self.result.emit(out + err) - else: - self.run() + _, out, err = git.remote('show', '-n', remote) + self.result.emit(out + err) class AddRemoteDialog(QtWidgets.QDialog): @@ -440,6 +438,7 @@ self._layout = qtutils.vbox(defs.margin, defs.spacing, self._form) self.setLayout(self._layout) + # pylint: disable=no-member self.remote_name.textChanged.connect(self.validate) self.remote_url.textChanged.connect(self.validate) qtutils.connect_button(self.open_button, self.open_repo) diff -Nru git-cola-3.5/cola/widgets/filelist.py git-cola-3.6/cola/widgets/filelist.py --- git-cola-3.5/cola/widgets/filelist.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/filelist.py 2019-11-27 08:36:53.000000000 +0000 @@ -16,6 +16,7 @@ DIFFTOOL_SELECTED = 'DIFFTOOL_SELECTED' +# pylint: disable=too-many-ancestors class FileWidget(TreeWidget): grab_file = Signal(object) @@ -42,6 +43,7 @@ self.grab_file_action = qtutils.add_action( self, N_('Grab File...'), self._grab_file) + # pylint: disable=no-member self.itemSelectionChanged.connect(self.selection_changed) def selection_changed(self): diff -Nru git-cola-3.5/cola/widgets/filetree.py git-cola-3.6/cola/widgets/filetree.py --- git-cola-3.5/cola/widgets/filetree.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/filetree.py 2019-11-27 08:36:53.000000000 +0000 @@ -7,6 +7,7 @@ from . import standard +# pylint: disable=too-many-ancestors class FileTree(standard.TreeWidget): def __init__(self, parent=None): diff -Nru git-cola-3.5/cola/widgets/finder.py git-cola-3.6/cola/widgets/finder.py --- git-cola-3.5/cola/widgets/finder.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/finder.py 2019-11-27 08:36:53.000000000 +0000 @@ -160,6 +160,7 @@ thread = self.worker_thread = FindFilesThread(context, self) thread.result.connect(self.process_result, type=Qt.QueuedConnection) + # pylint: disable=no-member self.input_txt.textChanged.connect(lambda s: self.search()) self.input_txt.activated.connect(self.focus_tree) self.input_txt.down.connect(self.focus_tree) diff -Nru git-cola-3.5/cola/widgets/gitignore.py git-cola-3.6/cola/widgets/gitignore.py --- git-cola-3.5/cola/widgets/gitignore.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/gitignore.py 2019-11-27 08:36:53.000000000 +0000 @@ -27,7 +27,7 @@ self.selection = context.selection if parent is not None: self.setWindowModality(QtCore.Qt.WindowModal) - self.setWindowTitle(N_('Add to .gitignore')) + self.setWindowTitle(N_('Add to exclusions')) # Create text self.text_description = QtWidgets.QLabel() @@ -45,9 +45,21 @@ self.radio_filename = qtutils.radio(text=N_('Ignore exact filename'), checked=True) self.radio_pattern = qtutils.radio(text=N_('Ignore custom pattern')) - - self.radio_layt = qtutils.vbox(defs.no_margin, defs.spacing, - self.radio_filename, self.radio_pattern) + self.name_radio_group = qtutils.buttongroup(self.radio_filename, + self.radio_pattern) + self.name_radio_layt = qtutils.vbox(defs.no_margin, defs.spacing, + self.radio_filename, + self.radio_pattern) + + self.radio_in_repo = qtutils.radio(text=N_('Add to .gitignore'), + checked=True) + self.radio_local = qtutils.radio(text=N_('Add to local ' + '.git/info/exclude')) + self.location_radio_group = qtutils.buttongroup(self.radio_in_repo, + self.radio_local) + self.location_radio_layt = qtutils.vbox(defs.no_margin, defs.spacing, + self.radio_in_repo, + self.radio_local) # Create buttons self.button_apply = qtutils.ok_button(text=N_('Add')) @@ -59,9 +71,11 @@ # Layout self.main_layout = qtutils.vbox(defs.margin, defs.spacing, - self.radio_layt, + self.name_radio_layt, defs.button_spacing, self.filename_layt, + defs.button_spacing, + self.location_radio_layt, qtutils.STRETCH, self.btn_layt) self.setLayout(self.main_layout) @@ -91,5 +105,6 @@ def apply(self): context = self.context - cmds.do(cmds.Ignore, context, self.edit_filename.text().split(';')) + cmds.do(cmds.Ignore, context, self.edit_filename.text().split(';'), + self.radio_local.isChecked()) self.accept() diff -Nru git-cola-3.5/cola/widgets/grep.py git-cola-3.6/cola/widgets/grep.py --- git-cola-3.5/cola/widgets/grep.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/grep.py 2019-11-27 08:36:53.000000000 +0000 @@ -169,6 +169,7 @@ thread = self.worker_thread = GrepThread(context, self) thread.result.connect(self.process_result, type=Qt.QueuedConnection) + # pylint: disable=no-member self.input_txt.textChanged.connect(lambda s: self.search()) self.regexp_combo.currentIndexChanged.connect(lambda x: self.search()) self.result_txt.leave.connect(self.input_txt.setFocus) @@ -292,6 +293,7 @@ return result +# pylint: disable=too-many-ancestors class GrepTextView(VimHintedPlainTextEdit): """A text view with hotkeys for launching editors""" @@ -329,6 +331,7 @@ return (self.filename, self.content, self.line_number) +# pylint: disable=too-many-ancestors class PreviewTextView(VimTextBrowser): """Preview window for file contents""" diff -Nru git-cola-3.5/cola/widgets/main.py git-cola-3.6/cola/widgets/main.py --- git-cola-3.5/cola/widgets/main.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/main.py 2019-11-27 08:36:53.000000000 +0000 @@ -419,6 +419,9 @@ self.lock_layout_action = add_action_bool( self, N_('Lock Layout'), self.set_lock_layout, False) + self.reset_layout_action = add_action( + self, N_('Reset Layout'), self.reset_layout) + # Create the application menu self.menubar = QtWidgets.QMenuBar(self) self.setMenuBar(self.menubar) @@ -557,6 +560,7 @@ # View Menu self.view_menu = add_menu(N_('View'), self.menubar) + # pylint: disable=no-member self.view_menu.aboutToShow.connect( lambda: self.build_view_menu(self.view_menu)) self.setup_dockwidget_view_menu() @@ -713,6 +717,7 @@ menu.addSeparator() menu.addAction(self.lock_layout_action) + menu.addAction(self.reset_layout_action) return menu @@ -727,9 +732,13 @@ context = self.context menu = self.open_recent_menu menu.clear() + worktree = self.git.worktree() for entry in settings.recent: - name = entry['name'] directory = entry['path'] + if directory == worktree: + # Omit the current worktree from the "Open Recent" menu. + continue + name = entry['name'] text = '%s %s %s' % (name, uchr(0x2192), directory) menu.addAction(text, cmds.run(cmd, context, directory)) diff -Nru git-cola-3.5/cola/widgets/merge.py git-cola-3.6/cola/widgets/merge.py --- git-cola-3.5/cola/widgets/merge.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/merge.py 2019-11-27 08:36:53.000000000 +0000 @@ -101,6 +101,7 @@ self.setLayout(self.mainlayt) # Signal/slot connections + # pylint: disable=no-member self.revision.textChanged.connect(self.update_title) self.revision.enter.connect(self.merge_revision) self.revisions.itemSelectionChanged.connect(self.revision_selected) diff -Nru git-cola-3.5/cola/widgets/patch.py git-cola-3.6/cola/widgets/patch.py --- git-cola-3.5/cola/widgets/patch.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/patch.py 2019-11-27 08:36:53.000000000 +0000 @@ -86,6 +86,7 @@ self.tree = PatchTreeWidget(parent=self) self.tree.setHeaderHidden(True) + # pylint: disable=no-member self.tree.itemSelectionChanged.connect(self._tree_selection_changed) self.notifier = notifier = observable.Observable() @@ -200,6 +201,7 @@ return result +# pylint: disable=too-many-ancestors class PatchTreeWidget(DraggableTreeWidget): def add_paths(self, paths): diff -Nru git-cola-3.5/cola/widgets/prefs.py git-cola-3.6/cola/widgets/prefs.py --- git-cola-3.5/cola/widgets/prefs.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/prefs.py 2019-11-27 08:36:53.000000000 +0000 @@ -124,6 +124,7 @@ self.diff_context = standard.SpinBox(value=5, mini=2, maxi=9995) self.merge_verbosity = standard.SpinBox(value=5, maxi=5) self.merge_summary = qtutils.checkbox(checked=True) + self.autotemplate = qtutils.checkbox(checked=False) self.merge_diffstat = qtutils.checkbox(checked=True) self.display_untracked = qtutils.checkbox(checked=True) self.show_path = qtutils.checkbox(checked=True) @@ -147,6 +148,8 @@ self.add_row(N_('Merge Verbosity'), self.merge_verbosity) self.add_row(N_('Number of Diff Context Lines'), self.diff_context) self.add_row(N_('Summarize Merge Commits'), self.merge_summary) + self.add_row(N_('Automatically Load Commit Message Template'), + self.autotemplate) self.add_row(N_('Show Full Paths in the Window Title'), self.show_path) self.add_row(N_('Show Diffstat After Merge'), self.merge_diffstat) self.add_row(N_('Display Untracked Files'), self.display_untracked) @@ -155,6 +158,8 @@ self.add_row(N_('Autocomplete Paths'), self.autocomplete_paths) self.set_config({ + prefs.AUTOTEMPLATE: + (self.autotemplate, Defaults.autotemplate), prefs.CHECKCONFLICTS: (self.check_conflicts, Defaults.check_conflicts), prefs.DIFFCONTEXT: (self.diff_context, Defaults.diff_context), @@ -238,6 +243,7 @@ prefs.SPELL_CHECK: (self.check_spelling, Defaults.spellcheck), }) + # pylint: disable=no-member self.fixed_font.currentFontChanged.connect(self.current_font_changed) self.font_size.valueChanged.connect(self.font_size_changed) @@ -360,6 +366,7 @@ self.button_layout) self.setLayout(self.main_layout) + # pylint: disable=no-member self.tab_bar.currentChanged.connect(self.stack_widget.setCurrentIndex) self.stack_widget.currentChanged.connect(self.update_widget) diff -Nru git-cola-3.5/cola/widgets/recent.py git-cola-3.6/cola/widgets/recent.py --- git-cola-3.5/cola/widgets/recent.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/recent.py 2019-11-27 08:36:53.000000000 +0000 @@ -88,6 +88,7 @@ self.button_layout) self.setLayout(self.main_layout) + # pylint: disable=no-member self.tree.selection_changed.connect(self.tree_selection_changed) self.tree.path_chosen.connect(self.edit_file) self.count.valueChanged.connect(self.count_changed) diff -Nru git-cola-3.5/cola/widgets/remote.py git-cola-3.6/cola/widgets/remote.py --- git-cola-3.5/cola/widgets/remote.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/remote.py 2019-11-27 08:36:53.000000000 +0000 @@ -8,7 +8,6 @@ from ..i18n import N_ from ..interaction import Interaction -from ..models import main from ..qtutils import connect_button from ..qtutils import get from .. import gitcmds @@ -42,15 +41,8 @@ def run(context, RemoteDialog): """Launches fetch/push/pull dialogs.""" # Copy global stuff over to speedup startup - model = main.MainModel(context) - global_model = context.model - model.currentbranch = global_model.currentbranch - model.local_branches = global_model.local_branches - model.remote_branches = global_model.remote_branches - model.tags = global_model.tags - model.remotes = global_model.remotes parent = qtutils.active_window() - view = RemoteDialog(context, model, parent=parent) + view = RemoteDialog(context, parent=parent) view.show() return view @@ -113,20 +105,19 @@ class RemoteActionDialog(standard.Dialog): """Interface for performing remote operations""" - def __init__(self, context, model, action, title, parent=None, icon=None): + def __init__(self, context, action, title, parent=None, icon=None): """Customize the dialog based on the remote action""" standard.Dialog.__init__(self, parent=parent) + self.setWindowTitle(title) + if parent is not None: + self.setWindowModality(Qt.WindowModal) self.context = context - self.model = model + self.model = model = context.model self.action = action self.filtered_remote_branches = [] self.selected_remotes = [] - self.setWindowTitle(title) - if parent is not None: - self.setWindowModality(Qt.WindowModal) - self.runtask = qtutils.RunTask(parent=self) self.progress = standard.progress(title, N_('Updating'), self) @@ -134,16 +125,17 @@ self.local_label.setText(N_('Local Branch')) self.local_branch = QtWidgets.QLineEdit() - qtutils.add_completer(self.local_branch, self.model.local_branches) + qtutils.add_completer(self.local_branch, model.local_branches) self.local_branches = QtWidgets.QListWidget() - self.local_branches.addItems(self.model.local_branches) + self.local_branches.addItems(model.local_branches) self.remote_label = QtWidgets.QLabel() self.remote_label.setText(N_('Remote')) self.remote_name = QtWidgets.QLineEdit() - qtutils.add_completer(self.remote_name, self.model.remotes) + qtutils.add_completer(self.remote_name, model.remotes) + # pylint: disable=no-member self.remote_name.editingFinished.connect(self.remote_name_edited) self.remote_name.textEdited.connect(lambda x: self.remote_name_edited()) @@ -151,17 +143,17 @@ if action == PUSH: mode = QtWidgets.QAbstractItemView.ExtendedSelection self.remotes.setSelectionMode(mode) - self.remotes.addItems(self.model.remotes) + self.remotes.addItems(model.remotes) self.remote_branch_label = QtWidgets.QLabel() self.remote_branch_label.setText(N_('Remote Branch')) self.remote_branch = QtWidgets.QLineEdit() - remote_branches = strip_remotes(self.model.remote_branches) + remote_branches = strip_remotes(model.remote_branches) qtutils.add_completer(self.remote_branch, remote_branches) self.remote_branches = QtWidgets.QListWidget() - self.remote_branches.addItems(self.model.remote_branches) + self.remote_branches.addItems(model.remote_branches) text = N_('Prompt on creation') tooltip = N_('Prompt when pushing creates new remote branches') @@ -269,7 +261,7 @@ default_remote = gitcmds.upstream_remote(context) or 'origin' - remotes = self.model.remotes + remotes = model.remotes if default_remote in remotes: idx = remotes.index(default_remote) if self.select_remote(idx): @@ -283,6 +275,7 @@ self.set_field_defaults() # Setup signals and slots + # pylint: disable=no-member self.remotes.itemSelectionChanged.connect(self.update_remotes) local = self.local_branches @@ -636,10 +629,9 @@ class Fetch(RemoteActionDialog): """Fetch from remote repositories""" - def __init__(self, context, model, parent=None): + def __init__(self, context, parent=None): super(Fetch, self).__init__( - context, model, FETCH, N_('Fetch'), - parent=parent, icon=icons.repo()) + context, FETCH, N_('Fetch'), parent=parent, icon=icons.repo()) def export_state(self): """Export persistent settings""" @@ -661,9 +653,9 @@ class Push(RemoteActionDialog): """Push to remote repositories""" - def __init__(self, context, model, parent=None): + def __init__(self, context, parent=None): super(Push, self).__init__( - context, model, PUSH, N_('Push'), parent=parent, icon=icons.push()) + context, PUSH, N_('Push'), parent=parent, icon=icons.push()) def export_state(self): """Export persistent settings""" @@ -690,9 +682,9 @@ class Pull(RemoteActionDialog): """Pull from remote repositories""" - def __init__(self, context, model, parent=None): + def __init__(self, context, parent=None): super(Pull, self).__init__( - context, model, PULL, N_('Pull'), parent=parent, icon=icons.pull()) + context, PULL, N_('Pull'), parent=parent, icon=icons.pull()) def apply_state(self, state): """Apply persistent settings""" diff -Nru git-cola-3.5/cola/widgets/search.py git-cola-3.6/cola/widgets/search.py --- git-cola-3.5/cola/widgets/search.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/search.py 2019-11-27 08:36:53.000000000 +0000 @@ -243,6 +243,7 @@ connect_button(self.button_cherrypick, self.cherry_pick) connect_button(self.button_close, self.accept) + # pylint: disable=no-member self.mode_combo.currentIndexChanged.connect(self.mode_changed) self.commit_list.itemSelectionChanged.connect(self.display) diff -Nru git-cola-3.5/cola/widgets/selectcommits.py git-cola-3.6/cola/widgets/selectcommits.py --- git-cola-3.5/cola/widgets/selectcommits.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/selectcommits.py 2019-11-27 08:36:53.000000000 +0000 @@ -83,6 +83,7 @@ self.splitter, self.input_layout) self.setLayout(self.main_layout) + # pylint: disable=no-member commits.itemSelectionChanged.connect(self.commit_oid_selected) commits.itemDoubleClicked.connect(self.commit_oid_double_clicked) diff -Nru git-cola-3.5/cola/widgets/spellcheck.py git-cola-3.6/cola/widgets/spellcheck.py --- git-cola-3.5/cola/widgets/spellcheck.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/spellcheck.py 2019-11-27 08:36:53.000000000 +0000 @@ -17,6 +17,7 @@ from .text import HintedTextEdit +# pylint: disable=too-many-ancestors class SpellCheckTextEdit(HintedTextEdit): def __init__(self, context, hint, parent=None): @@ -116,6 +117,7 @@ def __init__(self, *args): QAction.__init__(self, *args) + # pylint: disable=no-member self.triggered.connect(self.correct) def correct(self): diff -Nru git-cola-3.5/cola/widgets/standard.py git-cola-3.6/cola/widgets/standard.py --- git-cola-3.5/cola/widgets/standard.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/standard.py 2019-11-27 08:36:53.000000000 +0000 @@ -152,6 +152,13 @@ self.lock_layout = False self.widget_version = 0 qtcompat.set_common_dock_options(self) + self.default_state = None + + def init_state(self, settings, callback, *args, **kwargs): + """Save the initial state before calling the parent initializer""" + self.default_state = self.saveState(self.widget_version) + super(MainWindowMixin, self).init_state(settings, callback, *args, + **kwargs) def export_state(self): """Exports data for save/restore""" @@ -186,6 +193,9 @@ return result + def reset_layout(self): + self.restoreState(self.default_state, self.widget_version) + def set_lock_layout(self, lock_layout): self.lock_layout = lock_layout self.update_dockwidget_lock_state() @@ -207,6 +217,7 @@ widget.titleBarWidget().update_tooltips() +# pylint: disable=too-many-ancestors class ListWidget(QtWidgets.QListWidget): """QListWidget with vim j/k navigation hotkeys""" @@ -498,18 +509,27 @@ def accept(self): self.save_settings() + self.dispose() return self.Base.accept(self) def reject(self): self.save_settings() + self.dispose() return self.Base.reject(self) + # pylint: disable=no-self-use + def dispose(self): + """Extension method for model deregistration in sub-classes""" + return + def close(self): """save_settings() is handled by accept() and reject()""" + self.dispose() self.Base.close(self) def closeEvent(self, event): """save_settings() is handled by accept() and reject()""" + self.dispose() self.Base.closeEvent(self, event) @@ -521,6 +541,7 @@ MainWindowMixin.__init__(self) +# pylint: disable=too-many-ancestors class TreeView(QtWidgets.QTreeView): Mixin = TreeMixin @@ -554,6 +575,7 @@ return self._mixin.set_column_widths(widths) +# pylint: disable=too-many-ancestors class TreeWidget(QtWidgets.QTreeWidget): Mixin = TreeMixin @@ -587,6 +609,7 @@ return self._mixin.set_column_widths(widths) +# pylint: disable=too-many-ancestors class DraggableTreeWidget(TreeWidget): Mixin = DraggableTreeMixin items_moved = Signal(object) diff -Nru git-cola-3.5/cola/widgets/startup.py git-cola-3.6/cola/widgets/startup.py --- git-cola-3.5/cola/widgets/startup.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/startup.py 2019-11-27 08:36:53.000000000 +0000 @@ -113,6 +113,7 @@ qtutils.connect_button(self.new_button, self.new_repo) qtutils.connect_button(self.close_button, self.reject) + # pylint: disable=no-member self.bookmarks.activated.connect(self.open_bookmark) self.init_state(settings, self.resize_widget) diff -Nru git-cola-3.5/cola/widgets/stash.py git-cola-3.6/cola/widgets/stash.py --- git-cola-3.5/cola/widgets/stash.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/stash.py 2019-11-27 08:36:53.000000000 +0000 @@ -95,6 +95,7 @@ self.setLayout(self.main_layt) self.splitter.setSizes([self.width()//3, self.width()*2//3]) + # pylint: disable=no-member self.stash_list.itemSelectionChanged.connect(self.item_selected) qtutils.connect_button(self.button_save, self.stash_save) diff -Nru git-cola-3.5/cola/widgets/status.py git-cola-3.6/cola/widgets/status.py --- git-cola-3.5/cola/widgets/status.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/status.py 2019-11-27 08:36:53.000000000 +0000 @@ -91,6 +91,7 @@ self.tree.select_header() +# pylint: disable=too-many-ancestors class StatusTreeWidget(QtWidgets.QTreeWidget): # Signals about_to_update = Signal() @@ -250,7 +251,7 @@ self.m.add_observer(self.m.message_updated, self.updated.emit) self.m.add_observer(self.m.message_diff_text_changed, self.diff_text_changed.emit) - + # pylint: disable=no-member self.itemSelectionChanged.connect(self.show_selection) self.itemDoubleClicked.connect(self._double_clicked) self.itemCollapsed.connect(lambda x: self._update_column_widths()) @@ -744,7 +745,7 @@ menu.addAction(self.move_to_trash_action) menu.addAction(self.delete_untracked_files_action) menu.addSeparator() - menu.addAction(icons.edit(), N_('Add to .gitignore'), + menu.addAction(icons.edit(), N_('Ignore...'), partial(gitignore.gitignore_view, self.context)) if not self.selection_model.is_empty(): @@ -1117,7 +1118,7 @@ def __init__(self, context, parent=None): QtWidgets.QWidget.__init__(self, parent) - self.main_model = context.model + self.context = context hint = N_('Filter paths...') self.text = completion.GitStatusFilterLineEdit( @@ -1130,6 +1131,7 @@ self.setLayout(self.main_layout) widget = self.text + # pylint: disable=no-member widget.changed.connect(self.apply_filter) widget.cleared.connect(self.apply_filter) widget.enter.connect(self.apply_filter) @@ -1141,7 +1143,7 @@ return self._filter = value paths = utils.shell_split(value) - self.main_model.update_path_filter(paths) + self.context.model.update_path_filter(paths) def customize_copy_actions(context, parent): @@ -1195,6 +1197,7 @@ qtutils.connect_button(self.close_button, self.reject) qtutils.connect_button(self.save_button, self.save) qtutils.add_close_action(self) + # pylint: disable=no-member self.table.itemSelectionChanged.connect(self.table_selection_changed) self.init_size(parent=parent) diff -Nru git-cola-3.5/cola/widgets/submodules.py git-cola-3.6/cola/widgets/submodules.py --- git-cola-3.5/cola/widgets/submodules.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/submodules.py 2019-11-27 08:36:53.000000000 +0000 @@ -48,22 +48,24 @@ cmds.run(cmds.OpenParentRepo, context)) +# pylint: disable=too-many-ancestors class SubmodulesTreeWidget(standard.TreeWidget): updated = Signal() def __init__(self, context, parent=None): standard.TreeWidget.__init__(self, parent=parent) + model = context.model self.context = context - self.main_model = model = context.model self.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection) self.setHeaderHidden(True) # UI self._active = False self.list_helper = BuildItem() - self.itemDoubleClicked.connect(self.tree_double_clicked) # Connections + # pylint: disable=no-member + self.itemDoubleClicked.connect(self.tree_double_clicked) self.updated.connect(self.refresh, type=Qt.QueuedConnection) model.add_observer(model.message_submodules_changed, self.updated.emit) @@ -72,10 +74,11 @@ if not self._active: return - items = [self.list_helper.get(entry) for entry in - self.main_model.submodules_list] + submodules = self.context.model.submodules_list + items = [self.list_helper.get(entry) for entry in submodules] self.clear() - self.addTopLevelItems(items) + if items: + self.addTopLevelItems(items) def showEvent(self, event): """Defer updating widgets until the widget is visible""" diff -Nru git-cola-3.5/cola/widgets/text.py git-cola-3.6/cola/widgets/text.py --- git-cola-3.5/cola/widgets/text.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/text.py 2019-11-27 08:36:53.000000000 +0000 @@ -557,6 +557,7 @@ self.setFont(qtutils.diff_font(context)) self.set_tabwidth(prefs.tabwidth(context)) # Refresh palettes when text changes + # pylint: disable=no-member self.textChanged.connect(self.hint.refresh) def set_value(self, value, block=False): @@ -576,6 +577,7 @@ self.hint = HintWidget(self, hint) self.hint.init() # Refresh palettes when text changes + # pylint: disable=no-member self.textChanged.connect(self.hint.refresh) self.setFont(qtutils.diff_font(context)) @@ -685,6 +687,7 @@ return self.Base.keyPressEvent(widget, event) +# pylint: disable=too-many-ancestors class VimHintedPlainTextEdit(HintedPlainTextEdit): """HintedPlainTextEdit with vim hotkeys @@ -709,6 +712,7 @@ return self._mixin.keyPressEvent(event) +# pylint: disable=too-many-ancestors class VimTextEdit(MonoTextEdit): """Text viewer with vim-like hotkeys @@ -739,6 +743,7 @@ self.hint = HintWidget(self, hint) self.hint.init() self.setFont(qtutils.diff_font(context)) + # pylint: disable=no-member self.textChanged.connect(lambda text: self.hint.refresh()) diff -Nru git-cola-3.5/cola/widgets/toolbar.py git-cola-3.6/cola/widgets/toolbar.py --- git-cola-3.5/cola/widgets/toolbar.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/cola/widgets/toolbar.py 2019-11-27 08:36:53.000000000 +0000 @@ -410,6 +410,7 @@ return items +# pylint: disable=too-many-ancestors class DraggableListWidget(QtWidgets.QListWidget): Mixin = DraggableListMixin @@ -454,6 +455,7 @@ return self._mixin.get_items() +# pylint: disable=too-many-ancestors class ToolbarTreeWidget(standard.TreeView): def __init__(self, parent): diff -Nru git-cola-3.5/debian/changelog git-cola-3.6/debian/changelog --- git-cola-3.5/debian/changelog 2019-09-29 18:04:14.000000000 +0000 +++ git-cola-3.6/debian/changelog 2019-12-15 15:54:01.000000000 +0000 @@ -1,3 +1,11 @@ +git-cola (3.6-1) unstable; urgency=medium + + * New upstream release. + * Update watch file. + * Update Standards-Version to 4.4.1 . + + -- Laszlo Boszormenyi (GCS) Sun, 15 Dec 2019 15:54:01 +0000 + git-cola (3.5-1) unstable; urgency=medium * New upstream release. diff -Nru git-cola-3.5/debian/compat git-cola-3.6/debian/compat --- git-cola-3.5/debian/compat 2018-04-30 07:17:02.000000000 +0000 +++ git-cola-3.6/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -11 diff -Nru git-cola-3.5/debian/control git-cola-3.6/debian/control --- git-cola-3.5/debian/control 2019-09-29 18:04:14.000000000 +0000 +++ git-cola-3.6/debian/control 2019-12-15 15:54:01.000000000 +0000 @@ -2,9 +2,9 @@ Section: vcs Priority: optional Maintainer: Laszlo Boszormenyi (GCS) -Build-Depends: debhelper (>= 11), dh-python, python3-nose +Build-Depends: debhelper-compat (= 11), dh-python, python3-nose Build-Depends-Indep: python3, python3-qtpy, python3-sphinx, rsync, git-core, gettext, asciidoc (>= 8.2), xmlto -Standards-Version: 4.4.0 +Standards-Version: 4.4.1 Homepage: https://git-cola.github.com/ #Vcs-Git: git://git.debian.org/git/collab-maint/git-cola.git #Vcs-Browser: http://git.debian.org/?p=collab-maint/git-cola.git @@ -12,7 +12,7 @@ Package: git-cola Architecture: all Depends: ${python3:Depends}, ${misc:Depends}, python3-distutils, python3-qtpy, python3-sip, git-core, libjs-jquery, libjs-underscore, libjs-modernizr -Recommends: gitk, xxdiff +Recommends: gitk, xxdiff, tclsh Suggests: python3-pyinotify, python3-simplejson Description: highly caffeinated git GUI Git-cola is a git GUI optimized for working with the git index. diff -Nru git-cola-3.5/debian/watch git-cola-3.6/debian/watch --- git-cola-3.5/debian/watch 2019-02-05 19:55:06.000000000 +0000 +++ git-cola-3.6/debian/watch 2019-12-15 15:54:01.000000000 +0000 @@ -1,3 +1,3 @@ version=4 -https://github.com/git-cola/git-cola/tags .*/v?(\d.*)\.(?:tgz|tar\.(?:gz|bz2|xz)) +https://github.com/git-cola/git-cola/tags .*/v?(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz)) # Bart Martens Thu, 22 Nov 2012 14:17:58 +0000 diff -Nru git-cola-3.5/docs/git-cola.rst git-cola-3.6/docs/git-cola.rst --- git-cola-3.5/docs/git-cola.rst 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/docs/git-cola.rst 2019-11-27 08:36:53.000000000 +0000 @@ -457,6 +457,13 @@ This can speed up operations when working in large repositories. Defaults to `true`. +cola.autoloadCommitTemplate +--------------------------- +Set to `true` to automatically load the commit template in the commit message +editor If the commit.template variable has not been configured, raise the +corresponding error. +Defaults to `false`. + cola.blameviewer ---------------- The command used to blame files. Defaults to `git gui blame`. diff -Nru git-cola-3.5/docs/relnotes.rst git-cola-3.6/docs/relnotes.rst --- git-cola-3.5/docs/relnotes.rst 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/docs/relnotes.rst 2019-11-27 08:36:53.000000000 +0000 @@ -5,7 +5,7 @@ Latest Release ============== -:ref:`v3.5 ` is the latest stable release. +:ref:`v3.6 ` is the latest stable release. Development version =================== @@ -14,6 +14,79 @@ ``git clone git://github.com/git-cola/git-cola.git`` +.. _v3.6: + +Usability, bells and whistles +----------------------------- +* The remote editor is much faster since it no longer queries + remotes, and uses the cached information instead. + (`#986 `_) + +* Commit message templates can now be loaded automatically by setting + ``git config cola.autoloadcommittemplate true``. + (`#1013 `_) + (`#735 `_) + +* The UI layout can now be reset back to its initial state by selecting + the "Reset Layout" action. This reverts the layout to the same state + as when the app first launched. + (`#1008 `_) + (`#994 `_) + +* Files can now be ignored in either the project's `.gitignore`, or in the + repository's private local `.git/info/exclude` ignore file. + (`#1006 `_) + (`#1000 `_) + +* New remotes are now selected when they are added in the "Edit Remotes" tool. + (`#1002 `_) + +* The "Recent" repositories list is now saved to disk when opening a + repository. Previously, this list was only updated when exiting the app. + (`#1001 `_) + +* The bookmarks tool now has a "Delete" option in its right-click menu. + (`#999 `_) + +* The current repository is no longer listed in the "File/Open Recent" menu. + (`#998 `_) + +Translations +------------ +* Updated Hungarian translation. + (`#1005 `_) + (`#1018 `_) + +* Updated Turkish translation. + (`#1003 `_) + (`#1011 `_) + +Fixes +----- +* Better support for Python 3.8's line buffering modes. + (`#1014 `_) + +* The default `ssh-askpass` script now uses a more generic `#!` shebang line. + (`#1012 `_) + +* Fetch, push, and pull operations will now refresh the model and display when + operations complete. + (`#996 `_) + +* The branches widget now refreshes its display when changing branches. + (`#992 `_) + +Packaging +--------- +* The `share/git-cola/bin/git-xbase` script will now have its `#!` lines + updated during installation. + (`#991 `_) + +Development +----------- +* The unit tests were made more platform-independent. + (`#993 `_) + .. _v3.5: Usability, bells and whistles diff -Nru git-cola-3.5/docs/thanks.rst git-cola-3.6/docs/thanks.rst --- git-cola-3.5/docs/thanks.rst 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/docs/thanks.rst 2019-11-27 08:36:53.000000000 +0000 @@ -6,7 +6,10 @@ * Aaron Wolf * Adam Lesperance * Adrien be +* Adil * AJ Bagwell +* akontsevich +* Aleksey Kontsevich * Alex Chernetz * Alex Gulyás * Alexander Kozienko @@ -20,6 +23,7 @@ * armandg * Arthur Coelho * Audrius Karabanovas +* Balázs Meskó * balping * Barış ÇELİK * Barry Roberts @@ -27,9 +31,11 @@ * Ben Boeckel * Ben Cole * Benedict Lee +* Benjamin Somers * Benoît Nouyrigat * Bert Jacobs * Birger Skogeng Pedersen +* Björn Ketelaars * 林博仁 (Buo-ren Lin) * cclaus * Charles 101 @@ -58,6 +64,7 @@ * Erop @EgZvor * Erwan Bousse * Fabio Coatti +* Felipe Morales * Filip Danilović * fu7mu4 * Garoe Dorta @@ -68,6 +75,7 @@ * Glen Mailer * Guillaume de Bure * Guo Yunhe +* Gyuris Gellért * Harro Verton * Hannes @kannes * Igor Galarraga @@ -176,11 +184,13 @@ * Robert Pollak * Rolando Espinoza La fuente * Rustam Safin +* Sabri Ünal * Samsul Ma'arif * Sebastian Brass * Sebastian Oliva * Sergey Leschina * Shun Sakai +* Simon Peeters * Srinivasa Nallapati * Stan Angeloff * Stanisław Halik @@ -195,6 +205,8 @@ * Thomas Kiley * Thomas Kluyver * Thomas Thorne +* Tom Dobbelaere +* Tim Brown * Tim Schumacher * Trevor Alexander * Ugo Riboni @@ -204,6 +216,7 @@ * Vaibhav Sagar * Vaiz * Ved Vyas +* Victor Nepveu * Victorhck * Ville Skyttä * Virgil Dupras diff -Nru git-cola-3.5/extras/build_helpers.py git-cola-3.6/extras/build_helpers.py --- git-cola-3.5/extras/build_helpers.py 1970-01-01 00:00:00.000000000 +0000 +++ git-cola-3.6/extras/build_helpers.py 2019-11-27 08:36:53.000000000 +0000 @@ -0,0 +1,24 @@ +"""build_helpers command for setup.py""" +# pylint: disable=attribute-defined-outside-init +# pylint: disable=import-error,no-name-in-module +from __future__ import absolute_import, division, unicode_literals +from distutils.command.build_scripts import build_scripts +import os +import sys + + +class build_helpers(build_scripts): + + description = "fixup #! lines for private share/git-cola/bin scripts" + + # Private share/git-cola/bin scripts that are visible to cola only. + helpers = [] + + def finalize_options(self): + """Set variables to copy/edit files to build/helpers-x.y""" + build_scripts.finalize_options(self) + + self.build_dir = os.path.join( + 'build', 'helpers-%s.%s' % sys.version_info[:2]) + + self.scripts = self.helpers diff -Nru git-cola-3.5/extras/build_mo.py git-cola-3.6/extras/build_mo.py --- git-cola-3.5/extras/build_mo.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/extras/build_mo.py 2019-11-27 08:36:53.000000000 +0000 @@ -4,7 +4,6 @@ from __future__ import absolute_import, division, unicode_literals import os import re -from distutils.command.build import build from distutils.core import Command from distutils.dep_util import newer from distutils.spawn import find_executable @@ -109,6 +108,3 @@ if self.force or newer(po, mo): log.info('Compile: %s -> %s' % (po, mo)) self.spawn(['msgfmt', '--output-file', mo, po]) - - -build.sub_commands.insert(0, ('build_mo', None)) diff -Nru git-cola-3.5/extras/__init__.py git-cola-3.6/extras/__init__.py --- git-cola-3.5/extras/__init__.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/extras/__init__.py 2019-11-27 08:36:53.000000000 +0000 @@ -1,10 +1,23 @@ +# pylint: disable=import-error,no-name-in-module from __future__ import absolute_import, division, unicode_literals +from distutils.command.build import build +from distutils.command.install import install +from extras.build_helpers import build_helpers from extras.build_mo import build_mo from extras.build_pot import build_pot +from extras.install_helpers import install_helpers cmdclass = { 'build_mo': build_mo, 'build_pot': build_pot, + 'build_helpers': build_helpers, + 'install_helpers': install_helpers, } + + +build.sub_commands.insert(0, ('build_mo', None)) +build.sub_commands.append(('build_helpers', None)) + +install.sub_commands.append(('install_helpers', None)) diff -Nru git-cola-3.5/extras/install_helpers.py git-cola-3.6/extras/install_helpers.py --- git-cola-3.5/extras/install_helpers.py 1970-01-01 00:00:00.000000000 +0000 +++ git-cola-3.6/extras/install_helpers.py 2019-11-27 08:36:53.000000000 +0000 @@ -0,0 +1,39 @@ +"""install_helpers command for setup.py""" +# pylint: disable=attribute-defined-outside-init +# pylint: disable=import-error,no-name-in-module +from __future__ import absolute_import, division, unicode_literals +from distutils.command.install_scripts import install_scripts +import os +import sys + + +class install_helpers(install_scripts): + + description = "install helper scripts" + + boolean_options = ['force', 'skip-build'] + + def initialize_options(self): + install_scripts.initialize_options(self) + self.skip_build_helpers = None + self.install_scripts_dir = None + + def finalize_options(self): + self.set_undefined_options( + 'install', + ('install_scripts', 'install_scripts_dir'), + ('force', 'force'), + ('skip_build', 'skip_build_helpers'), + ) + self.build_dir = os.path.join( + 'build', 'helpers-%s.%s' % sys.version_info[:2]) + self.install_prefix = os.path.dirname(self.install_scripts_dir) + self.install_dir = os.path.join( + self.install_prefix, 'share', 'git-cola', 'bin') + self.skip_build = True + + def run(self): + if not self.skip_build_helpers: + self.run_command('build_helpers') + + install_scripts.run(self) diff -Nru git-cola-3.5/.mailmap git-cola-3.6/.mailmap --- git-cola-3.5/.mailmap 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/.mailmap 2019-11-27 08:36:53.000000000 +0000 @@ -1,4 +1,5 @@ AJ Bagwell +林博仁(Buo-ren Lin) David Martínez Martí David Aguilar Javier Rodriguez Cuevas diff -Nru git-cola-3.5/Makefile git-cola-3.6/Makefile --- git-cola-3.5/Makefile 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/Makefile 2019-11-27 08:36:53.000000000 +0000 @@ -73,6 +73,10 @@ PYTEST_FLAGS = $(QUIET) $(TEST_VERBOSE) PYTEST_FLAGS += --doctest-modules +uname_S := $(shell uname -s) +ifneq ($(uname_S),Linux) + PYTEST_FLAGS += --ignore=cola/inotify.py +endif TOX_FLAGS = $(VERBOSE_SHORT) --develop --skip-missing-interpreters diff -Nru git-cola-3.5/po/hu.po git-cola-3.6/po/hu.po --- git-cola-3.5/po/hu.po 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/po/hu.po 2019-11-27 08:36:53.000000000 +0000 @@ -1,21 +1,24 @@ # Hungarian translations for git-cola package. # Copyright (C) 2007 THE git-cola'S Miklos Vajna at el. # This file is distributed under the same license as the git-cola package. -# Miklos Vajna , 2007. +# Miklos Vajna , 2007 +# Gyuris Gellért , 2019. +# Meskó Balázs , 2019. # msgid "" msgstr "" -"Project-Id-Version: git-cola VERSION\n" +"Project-Id-Version: git-cola 3.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-17 01:06-0700\n" -"PO-Revision-Date: 2008-03-14 17:24+0100\n" -"Last-Translator: Miklos Vajna \n" -"Language-Team: Hungarian\n" -"Language: \n" +"PO-Revision-Date: 2019-11-22 19:01+0100\n" +"Last-Translator: Meskó Balázs \n" +"Language-Team: Hungarian \n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.2.4\n" msgid "" "\n" @@ -25,6 +28,12 @@ "

\n" " " msgstr "" +"\n" +"

\n" +" A foltok listához való hozzáadása fogd és vidd módszerrel,\n" +" vagy a Hozzáadás gombbal végezhető el\n" +"

\n" +" " #, python-format msgid "" @@ -45,7 +54,8 @@ "\n" "
\n" "

\n" -" We invite you to participate in translation by adding or updating\n" +" We invite you to participate in translation by adding or " +"updating\n" " a translation and opening a pull request.\n" "

\n" "\n" @@ -53,6 +63,32 @@ "\n" " " msgstr "" +"\n" +"
\n" +" A Git Cola az alábbi személyeknek köszönhetően lett több nyelvre " +"lefordítva.\n" +"\n" +"
\n" +"

\n" +" A fordítás megközelítő. Hiba felfedezése esetén, kérjük vegyen " +"fel egy hibajegyet a GitHubon.\n" +"

\n" +"\n" +"

\n" +" %(bug_link)s\n" +"

\n" +"\n" +"
\n" +"

\n" +" Kérjük, vegyen részt a fordításban egy új fordítás hozzáadásával " +"vagy egy \n" +" meglévő frissítésével, valamint egy beolvasztási kérés " +"nyitásával.\n" +"

\n" +"\n" +"
\n" +"\n" +" " #, python-format msgid "" @@ -69,6 +105,18 @@ " \n" " " msgstr "" +"\n" +"
\n" +" Git Cola %(cola_version)s %(build_version)s verzió\n" +"
    \n" +"
  • %(platform_version)s\n" +"
  • Python (%(python_path)s) %(python_version)s\n" +"
  • Git %(git_version)s\n" +"
  • Qt %(qt_version)s\n" +"
  • QtPy %(qtpy_version)s\n" +"
  • %(pyqt_api_name)s %(pyqt_api_version)s\n" +"
\n" +" " #, python-format msgid "" @@ -78,6 +126,11 @@ "
\n" " " msgstr "" +"\n" +"
\n" +" Kérjük, itt jelentse a hibákat: %(bug_link)s.\n" +"
\n" +" " #, python-format msgid "" @@ -92,6 +145,16 @@ " %(basename)s = file basename without extension\n" " %(ext)s = file extension\n" msgstr "" +"\n" +" Formázó karakterlánc változók\n" +" -----------------------------\n" +" %(path)s = relatív fájlútvonal\n" +" %(abspath)s = abszolút fájlútvonal\n" +" %(dirname)s = mappa relatív útvonala\n" +" %(absdirname)s = mappa abszolút útvonala\n" +" %(filename)s = fájl alapnév\n" +" %(basename)s = fájl alapnév, kiterjesztés nélkül\n" +" %(ext)s = fájl kiterjesztése\n" msgid "" "\n" @@ -129,6 +192,41 @@ "ctrl+q = cancel and abort the rebase\n" "ctrl+d = launch difftool\n" msgstr "" +"\n" +"Parancsok\n" +"---------\n" +"pick = véglegesítés felhasználása\n" +"reword = véglegesítés felhasználása, de a véglegesítési üzenet " +"szerkesztésével\n" +"edit = véglegesítés felhasználása, de a javítás leállítása\n" +"squash = véglegesítés felhasználása, és beolvasztás az előző véglegesítésbe\n" +"fixup = mint a „squash”, de a véglegesítési naplóüzenet elvetése\n" +"exec = parancs (a sor hátralévő része) futtatása parancsértelmezőben\n" +"\n" +"A sorok újrarendezhetők; fentről lefelé lesznek végrehajtva.\n" +"\n" +"Egy sor letiltása itt a VÉGLEGESÍTÉS ELVESZTÉSÉT jelenti.\n" +"\n" +"Azonban, az összes letiltása az újraalapozás megszakításához vezet.\n" +"\n" +"Gyorsbillentyűk\n" +"------------------\n" +"? = súgó megjelenítése\n" +"j = mozgatás lefelé\n" +"k = mozgatás felfelé\n" +"J = sor lefelé mozgatása\n" +"K = sor felfelé mozgatása\n" +"\n" +"1, p = pick\n" +"2, r = reword\n" +"3, e = edit\n" +"4, f = fixup\n" +"5, s = squash\n" +"szóköz = átváltás engedélyezése\n" +"\n" +"ctrl+enter = módosítások elfogadása és újraalapozás\n" +"ctrl+q = mégse és az újraalapozás megszakítása\n" +"ctrl+d = összehasonlító eszköz indítása\n" msgid "" "\n" @@ -144,68 +242,80 @@ "The up and down arrows change focus between the text entry field\n" "and the results.\n" msgstr "" +"\n" +"Gyorsbillentyűk\n" +"------------------\n" +"J, Lefelé = Mozgatás lefelé\n" +"K, Felfelé = Mozgatás felfelé\n" +"Enter = Kijelölt fájlok szerkesztése\n" +"Szóköz = Fájl megnyitása az alapértelmezett alkalmazással\n" +"Ctrl + L = Szövegelemmező fókuszba helyezése\n" +"? = Súgó megjelenítése\n" +"\n" +"A felfelé és lefelé billentyűk módosítják a szövegelem-mezők közti\n" +"fókuszt, valamint az eredményeket.\n" msgid " - DAG" -msgstr "" +msgstr " - DAG" -#, fuzzy msgid " commits ago" -msgstr "Merge commit üzenet:" +msgstr " véglegesítéssel ezelőtt" #, python-format msgid "\"%(branch)s\" has been deleted from \"%(remote)s\"." -msgstr "" +msgstr "A(z) „%(branch)s” ág törölve lett erről: „%(remote)s”" #, python-format msgid "\"%(command)s\" returned exit status \"%(status)d\"" msgstr "" +"A(z) „%(command)s” ezzel a kilépési állapottal tért vissza: „%(status)d”" #, python-format msgid "\"%(command)s\" returned exit status %(status)d" -msgstr "" +msgstr "A(z) „%(command)s” ezzel a kilépési állapottal tért vissza: %(status)d" -#, fuzzy, python-format +#, python-format msgid "\"%s\" already exists" -msgstr "A(z) '%s' branch már létezik." +msgstr "A(z) „%s” már létezik" #, python-format msgid "\"%s\" already exists, cola will create a new directory" -msgstr "" +msgstr "A(z) „%s” már létezik, ezért a cola új mappát hoz létre" #, python-format msgid "\"%s\" requires a selected file." -msgstr "" +msgstr "A(z) „%s” kijelölt fájlt igényel." msgid "#" -msgstr "" +msgstr "#" #, python-format msgid "%(project)s: %(branch)s - Browse" -msgstr "" +msgstr "%(project)s: %(branch)s – tallózás" #, python-format msgid "%(project)s: %(ref)s - DAG" -msgstr "" +msgstr "%(project)s: %(ref)s - DAG" #, python-format msgid "%d days ago" -msgstr "" +msgstr "%d napja" #, python-format msgid "%d hours ago" -msgstr "" +msgstr "%d órája" #, python-format msgid "%d minutes ago" -msgstr "" +msgstr "%d perce" #, python-format msgid "%d patch(es) applied." -msgstr "" +msgstr "%d folt alkalmazva." #, python-format msgid "%d skipped" -msgstr "" +msgstr "%d kihagyva" #, python-format msgid "" @@ -214,149 +324,145 @@ "You should probably skip this file.\n" "Stage it anyways?" msgstr "" +"Úgy tűnik, hogy a(z) %s beolvasztási ütközéseket tartalmaz.\n" +"\n" +"Valószínűleg ki kellene hagyni ezt a fájlt.\n" +"Biztosan kiszemelésre kerüljön?" -#, fuzzy, python-format +#, python-format msgid "%s is not a Git repository." -msgstr "Git repó" +msgstr "A(z) %s nem git tároló." #, python-format msgid "%s will be removed from your bookmarks." -msgstr "" +msgstr "A(z) %s el lesz távolítva a könyvjelzők közül." #, python-format msgid "%s will be removed from your recent repositories." -msgstr "" +msgstr "A(z) %s el lesz távolítva a legutóbbi tárolókból." -#, fuzzy, python-format +#, python-format msgid "%s: No such file or directory." -msgstr "végzetes hiba: nem érhető el a(z) %s útvonal: Nincs ilyen fájl vagy könyvtár" +msgstr "%s: Nincs ilyen fájl vagy könyvtár." msgid "&Edit" -msgstr "Szerkesztés" +msgstr "Sz&erkesztés" -#, fuzzy msgid "&File" msgstr "&Fájl" msgid "(Amending)" -msgstr "" +msgstr "(Javítás)" msgid "*** Branch Point ***" -msgstr "" +msgstr "*** Elágazás ***" msgid "*** Sandbox ***" -msgstr "" +msgstr "*** Homokozó ***" msgid "100%" -msgstr "" +msgstr "100%" msgid "200%" -msgstr "" +msgstr "200%" msgid "25%" -msgstr "" +msgstr "25%" msgid "400%" -msgstr "" +msgstr "400%" msgid "50%" -msgstr "" +msgstr "50%" msgid "800%" -msgstr "" +msgstr "800%" msgid " ..." -msgstr "" +msgstr " …" msgid "" "A commit template has not been configured.\n" "Use \"git config\" to define \"commit.template\"\n" "so that it points to a commit template." msgstr "" +"A véglegesítési sablon nem lett még beállítva.\n" +"A „git config” használatával hozható létre a „commit.template”,\n" +"hogy az egy véglegesítési sablonra mutasson." #, python-format msgid "A hook must be provided at \"%s\"" -msgstr "" +msgstr "Egy hurkot kell létrehozni itt: „%s”" -#, fuzzy, python-format +#, python-format msgid "A stash named \"%s\" already exists" -msgstr "A(z) '%s' fájl már létezik." +msgstr "Már létezik egy ilyen nevű félretett változat: „%s”" -#, fuzzy msgid "Abort" -msgstr "Félbeszakítás" +msgstr "Megszakítás" -#, fuzzy msgid "Abort Action" -msgstr "Félbeszakítás" +msgstr "Művelet megszakítása" -#, fuzzy msgid "Abort Merge" -msgstr "Merge megszakítása..." +msgstr "Beolvasztás megszakítása" msgid "Abort Merge..." -msgstr "Merge megszakítása..." +msgstr "Beolvasztás megszakítása…" msgid "Abort the action?" -msgstr "" +msgstr "Megszakítja a műveletet?" -#, fuzzy msgid "" "Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" "Recovering uncommitted changes is not possible." msgstr "" -"Megszakítjuk a merge-t?\n" -"\n" -"A jelenlegi merge megszakítása *MINDEN* nem commitolt változtatás elvesztését jelenti.\n" -"\n" -"Folytatjuk a jelenlegi merge megszakítását?" +"A jelenlegi beolvasztás megszakítása *MINDEN* nem véglegesített módosítás " +"elvesztését jelenti.\n" +"A nem véglegesített módosítások helyreállítása nem lehetséges." msgid "Aborting the current merge?" -msgstr "" +msgstr "Megszakítja a jelenlegi beolvasztást?" -#, fuzzy msgid "About" -msgstr "Névjegy: %s" +msgstr "Névjegy" msgid "About git-cola" -msgstr "" +msgstr "A git-cola névjegye" msgid "Accept" -msgstr "" +msgstr "Elfogadás" msgid "" "Accept changes and rebase\n" "Shortcut: Ctrl+Enter" msgstr "" +"Változások elfogadása és újraalapozás\n" +"Gyorsbillentyű: Ctrl+Enter" -#, fuzzy msgid "Action Name" -msgstr "Opciók" +msgstr "Művelet neve" -#, fuzzy msgid "Actions" -msgstr "Opciók" +msgstr "Műveletek" -#, fuzzy msgid "Actions..." -msgstr "Opciók..." +msgstr "Műveletek…" msgid "Add" -msgstr "" +msgstr "Hozzáadás" -#, fuzzy msgid "Add Favorite" -msgstr "Távoli" +msgstr "Kedvenc hozzáadása" -#, fuzzy msgid "Add Remote" -msgstr "Távoli" +msgstr "Távoli hozzáadása" msgid "Add Separator" -msgstr "" +msgstr "Elválasztó hozzáadása" msgid "Add Toolbar" -msgstr "" +msgstr "Eszköztár hozzáadása" msgid "" "Add and remove remote repositories using the \n" @@ -365,363 +471,353 @@ "Remotes can be renamed by selecting one from the list\n" "and pressing \"enter\", or by double-clicking." msgstr "" +"A bal oldali hozzáadás(+) és törlés(-) gombokkal lehet\n" +"hozzáadni és törölni távoli tárolókat.\n" +"\n" +"A távoli tárolók átnevezhetők a listából való kijelöléssel\n" +"majd az Enter lenyomásával vagy dupla kattintással." -#, fuzzy msgid "Add new remote git repository" -msgstr "Nem Git repó: %s" +msgstr "Új távoli git tároló hozzáadása" msgid "Add patches (+)" -msgstr "" +msgstr "Foltok hozzáadása (+)" -#, fuzzy msgid "Add remote" -msgstr "Távoli" +msgstr "Távoli hozzáadása" msgid "Add to .gitignore" -msgstr "" +msgstr "Hozzáadás a .gitignore-hoz" msgid "Add to Git Annex" -msgstr "" +msgstr "Hozzáadás a Git Annexhez" msgid "Add to Git LFS" -msgstr "" +msgstr "Hozzáadás a Git LFS-hez" -#, fuzzy msgid "Additions" -msgstr "Opciók" +msgstr "Kiegészítések" msgid "Advanced" -msgstr "" +msgstr "Speciális" msgid "Age" -msgstr "" +msgstr "Kor" -#, fuzzy msgid "All Repositories" -msgstr "Globális (minden repó)" +msgstr "Minden tároló" #, python-format msgid "" "All submodules will be updated using\n" "\"%s\"" msgstr "" +"Az összes almodul frissítve lesz ezzel:\n" +"„%s”" -msgid "Allow non-fast-forward updates. Using \"force\" can cause the remote repository to lose commits; use it with care" +msgid "" +"Allow non-fast-forward updates. Using \"force\" can cause the remote " +"repository to lose commits; use it with care" msgstr "" +"Nem előrepörgetett frissítések engedélyezése. A kényszerítés a távoli " +"tárolón a véglegesítések elvesztéséhez vezethet. Óvatosan érdemes használni." -msgid "Always create a merge commit when enabled, even when the merge is a fast-forward update" +msgid "" +"Always create a merge commit when enabled, even when the merge is a fast-" +"forward update" msgstr "" +"Engedélyezve mindig beolvasztással történik a véglegesítés, akkor is, ha a " +"beolvasztás előrepörgetett frissítés" msgid "Amend" -msgstr "" +msgstr "Javítás" -#, fuzzy msgid "Amend Commit" -msgstr "Utolsó commit javítása" +msgstr "Véglegesítés javítása" msgid "Amend Last Commit" -msgstr "Utolsó commit javítása" +msgstr "Utolsó véglegesítés javítása" msgid "Amend the published commit?" -msgstr "" +msgstr "Javítja a közzétett véglegesítést?" msgid "Amending" -msgstr "" +msgstr "Javítás" msgid "" "An action is still running.\n" "Terminating it could result in data loss." msgstr "" +"Egy művelet épp fut.\n" +"A megszakítása adatvesztéshez vezethet." msgid "" "An unsigned, lightweight tag will be created instead.\n" "Create an unsigned tag?" msgstr "" +"Ehelyett csak egy aláíratlan, könnyűsúlyú címke lesz csak létrehozva.\n" +"Készüljön egy aláíratlan címke?" msgid "Appearance" -msgstr "" +msgstr "Megjelenés" -#, fuzzy msgid "Apply" -msgstr "Apple" +msgstr "Alkalmaz" msgid "Apply Patches" -msgstr "" +msgstr "Foltok alkalmazása" msgid "Apply Patches..." -msgstr "" +msgstr "Foltok alkalmazása…" msgid "Apply and drop the selected stash (git stash pop)" -msgstr "" +msgstr "Kijelölt félretett változat alkalmazása és eldobása (git stash pop)" msgid "Apply the selected stash" -msgstr "" +msgstr "Kijelölt félretett változat alkalmazása" msgid "Arguments" -msgstr "" +msgstr "Argumentumok" msgid "Attach" -msgstr "" +msgstr "Csatolás" -#, fuzzy msgid "Author" -msgstr "Szerző:" +msgstr "Szerző" -#, fuzzy msgid "Authors" -msgstr "Szerző:" +msgstr "Szerzők" msgid "Auto" -msgstr "" +msgstr "Automatikus" msgid "Auto-Wrap Lines" -msgstr "" +msgstr "Sorok automatikus tördelése" msgid "Basic Regexp" -msgstr "" +msgstr "Egyszerű regexp" -#, fuzzy msgid "Blame Viewer" -msgstr "Fájl néző" +msgstr "Hibáztatás megjelenítő" -#, fuzzy msgid "Blame selected paths" -msgstr "Branch átnevezése" +msgstr "Kijelölt útvonalak hibáztatása" -#, fuzzy msgid "Blame..." -msgstr "Átnevezés..." +msgstr "Hibáztatás…" msgid "Bold on dark headers instead of italic" -msgstr "" +msgstr "Félkövéren szedett és sötét fejlécek a dőlt helyett" msgid "Branch" -msgstr "Branch" +msgstr "Elágazás" #, python-format msgid "" "Branch \"%(branch)s\" does not exist in \"%(remote)s\".\n" "A new remote branch will be published." msgstr "" +"A(z) „%(branch)s” nem létezik itt: „%(remote)s”.\n" +"Új távoli ág lesz közzétéve." -#, fuzzy, python-format +#, python-format msgid "Branch \"%s\" already exists." -msgstr "A(z) '%s' branch már létezik." +msgstr "A(z) „%s” ág már létezik." msgid "Branch Diff Viewer" -msgstr "" +msgstr "Ág-összehasonlító megjelenítő" -#, fuzzy msgid "Branch Exists" -msgstr "Branchek" +msgstr "Létező ág" msgid "Branch Name" -msgstr "Branch neve" +msgstr "Ág neve" -#, fuzzy, python-format +#, python-format msgid "Branch: %s" -msgstr "Branch:" +msgstr "Ág: %s" -#, fuzzy msgid "Branches" -msgstr "Branch" +msgstr "Ágak" -#, fuzzy msgid "Branches..." -msgstr "Branchek" +msgstr "Ágak…" msgid "Brazilian translation" -msgstr "" +msgstr "Brazil fordítás" -#, fuzzy msgid "Browse" -msgstr "Böngészés" +msgstr "Tallózás" -#, fuzzy msgid "Browse Commits..." -msgstr "Böngészés" +msgstr "Véglegesítések tallózása…" -#, fuzzy msgid "Browse Current Branch..." -msgstr "A jelenlegi branch fájljainak böngészése" +msgstr "Jelenlegi ág tallózása…" -#, fuzzy msgid "Browse Other Branch..." -msgstr "A branch fájljainak böngészése..." +msgstr "Egyéb ágak tallózása…" -#, fuzzy msgid "Browse..." -msgstr "Böngészés" +msgstr "Tallózás…" -#, fuzzy msgid "Browser" -msgstr "Böngészés" +msgstr "Böngésző" -#, fuzzy, python-format +#, python-format msgid "Browsing %s" -msgstr "A(z) %s hozzáadása..." +msgstr "%s tallózása" msgid "Bypass Commit Hooks" -msgstr "" +msgstr "Véglegesítési hurkok kikerülése" msgid "Cancel" -msgstr "Mégsem" +msgstr "Mégse" msgid "" "Cancel rebase\n" "Shortcut: Ctrl+Q" msgstr "" +"Újraalapozás megszakítása\n" +"Gyorsbillentyű: Ctrl+Q" -#, fuzzy msgid "Cannot Amend" -msgstr "Nem sikerült írni az ikont:" +msgstr "A javítás nem lehetséges" #, python-format msgid "Cannot exec \"%s\": please configure a blame viewer" -msgstr "" +msgstr "A(z) „%s” nem futtatható: állítson be egy hibáztatás megjelenítőt" #, python-format msgid "Cannot exec \"%s\": please configure a history browser" -msgstr "" +msgstr "A(z) „%s” nem futtatható: állítson be egy történetböngészőt" #, python-format msgid "Cannot exec \"%s\": please configure your editor" -msgstr "" +msgstr "A(z) „%s” nem futtatható: állítsa be a szerkesztőjét" msgid "Changed Upstream" -msgstr "" +msgstr "Módosítva a távoli tárolóban" msgid "Check Spelling" -msgstr "" +msgstr "Helyesírás-ellenőrzés" msgid "Check spelling" -msgstr "" +msgstr "Helyesírás-ellenőrzés" msgid "Checkout" -msgstr "Checkout" +msgstr "Átváltás" msgid "Checkout After Creation" -msgstr "Checkout létrehozás után" +msgstr "Átváltás a létrehozás után" msgid "Checkout Branch" -msgstr "Branch checkoutolása" +msgstr "Ág átváltása" -#, fuzzy msgid "Checkout Detached HEAD" -msgstr "Branch checkoutolása" +msgstr "Átváltás a leválasztott FEJ-re" -#, fuzzy msgid "Checkout as new branch" -msgstr "Branch checkoutolása" +msgstr "Átváltás új ágként" msgid "Checkout..." -msgstr "Checkout..." +msgstr "Átváltás…" msgid "Cherry Pick" -msgstr "" +msgstr "Mazsolázás" -#, fuzzy msgid "Cherry-Pick Commit" -msgstr "Commit másolása" +msgstr "Mazsolázó véglegesítés" -#, fuzzy msgid "Cherry-Pick..." -msgstr "Checkout..." +msgstr "Mazsolázás…" -#, fuzzy msgid "Choose Paths" -msgstr "%s választása" +msgstr "Válasszon útvonalakat" msgid "Choose the \"git grep\" regular expression mode" -msgstr "" +msgstr "Válassza ki a „git grep” reguláris kifejezés módját" -#, fuzzy msgid "Clear Default Repository" -msgstr "Új repó létrehozása" +msgstr "Alapértelmezett tároló tisztítása" -#, fuzzy msgid "Clear commit message" -msgstr "Merge commit üzenet:" +msgstr "Véglegesítő üzenet tisztítása" -#, fuzzy msgid "Clear commit message?" -msgstr "Merge commit üzenet:" +msgstr "Tisztítja a véglegesítő üzenetet?" -#, fuzzy msgid "Clear..." -msgstr "Másolás..." +msgstr "Tisztítás…" msgid "Clone" -msgstr "Bezárás" +msgstr "Klónozás" -#, fuzzy msgid "Clone Repository" -msgstr "Létező repó másolása" +msgstr "Tároló klónozása" msgid "Clone..." -msgstr "Másolás..." +msgstr "Klónozás…" -#, fuzzy, python-format +#, python-format msgid "Cloning repository at %s" -msgstr "Létező repó másolása" +msgstr "Tároló klónozása ide: %s" msgid "Close" msgstr "Bezárás" -#, fuzzy msgid "Close..." -msgstr "Másolás..." +msgstr "Bezárás…" -#, fuzzy msgid "Collapse all" -msgstr "Bezárás" +msgstr "Összes összecsukása" -#, fuzzy msgid "Command" -msgstr "Commit:" +msgstr "Parancs" -#, fuzzy msgid "Commit" -msgstr "Commit:" +msgstr "Véglegesítés" -#, fuzzy msgid "Commit failed" -msgstr "A commit nem sikerült." +msgstr "Véglegesítés sikertelen" -#, fuzzy msgid "Commit staged changes" -msgstr "A változtatások commitolása..." +msgstr "Kiszemelt módosítások véglegesítése" msgid "" "Commit staged changes\n" "Shortcut: Ctrl+Enter" msgstr "" +"Kiszemelt módosítások véglegesítése\n" +"Gyorsbillentyű: Ctrl+Enter" -#, fuzzy msgid "Commit summary" -msgstr "Commit üzenet:" +msgstr "Véglegesítés összegzése" -msgid "Commit the merge if there are no conflicts. Uncheck to leave the merge uncommitted" +msgid "" +"Commit the merge if there are no conflicts. Uncheck to leave the merge " +"uncommitted" msgstr "" +"Beolvasztás véglegesítése, ha nincsenek ütközések. Bejelöletlenül hagyva a " +"beolvasztás nem lesz véglegesítve" msgid "Commit@@verb" -msgstr "Commit@@ige" +msgstr "Véglegesítés" msgid "Compare" -msgstr "" +msgstr "Összehasonlítás" msgid "Compare All" -msgstr "" +msgstr "Mind összehasonlítása" msgid "Configure the remote branch as the the new upstream" -msgstr "" +msgstr "A távoli ág beállítása új távoli tárolóként" msgid "Configure toolbar" -msgstr "" +msgstr "Eszköztár beállítása" -#, fuzzy msgid "Console" -msgstr "Bezárás" +msgstr "Konzol" msgid "Continue" msgstr "Folytatás" @@ -730,861 +826,793 @@ msgstr "Másolás" msgid "Copy Basename to Clipboard" -msgstr "" +msgstr "Alapnév másolása a vágólapra" msgid "Copy Leading Path to Clipboard" -msgstr "" +msgstr "Kezdő útvonal másolása a vágólapra" msgid "Copy Path to Clipboard" -msgstr "" +msgstr "Útvonal másolása a vágólapra" msgid "Copy Relative Path to Clipboard" -msgstr "" +msgstr "Relatív útvonal másolása a vágólapra" -#, fuzzy msgid "Copy SHA-1" -msgstr "Összes másolása" +msgstr "SHA-1 másolása" -#, fuzzy msgid "Copy..." -msgstr "Másolás" +msgstr "Másolás…" #, python-format msgid "Could not parse Git URL: \"%s\"" -msgstr "" +msgstr "Nem lehet feldolgozni a git URL-t: „%s”" msgid "Create Branch" -msgstr "Branch létrehozása" +msgstr "Ág létrehozása" -#, fuzzy msgid "Create Patch" -msgstr "Branch létrehozása" +msgstr "Folt létrehozása" -#, fuzzy msgid "Create Remote Branch" -msgstr "Távoli branch törlése" +msgstr "Távoli ág létrehozása" -#, fuzzy msgid "Create Signed Commit" -msgstr "Létrejött a %s commit: %s" +msgstr "Aláírt véglegesítés létrehozása" -#, fuzzy msgid "Create Tag" -msgstr "Létrehozás" +msgstr "Címke létrehozása" -#, fuzzy msgid "Create Tag..." -msgstr "Létrehozás..." +msgstr "Címke (tag) létrehozása…" msgid "Create Unsigned Tag" -msgstr "" +msgstr "Aláíratlan címke létrehozása" msgid "Create a merge commit even when the merge resolves as a fast-forward" msgstr "" +"Beolvasztásos véglegesítést hoz létre akkor is, ha a beolvasztás " +"előrepörgetett lenne" -#, fuzzy msgid "Create a new remote branch?" -msgstr "Új branch létrehozása" +msgstr "Létrehozza az új távoli ágat?" msgid "Create..." -msgstr "Létrehozás..." +msgstr "Létrehozás…" #, python-format msgid "Created a new tag named \"%s\"" -msgstr "" +msgstr "„%s” nevű címke létrehozva" -#, fuzzy msgid "Current Repository" -msgstr "Új repó létrehozása" +msgstr "Jelenlegi tároló" msgid "Custom Copy Actions" -msgstr "" +msgstr "Egyéni másolási műveletek" -#, fuzzy msgid "Customize..." -msgstr "Másolás..." +msgstr "Testreszabás…" msgid "Cut" msgstr "Kivágás" msgid "Czech translation" -msgstr "" +msgstr "Cseh fordítás" msgid "DAG..." -msgstr "" +msgstr "DAG…" msgid "Dark Theme" -msgstr "" +msgstr "Sötét téma" msgid "Date, Time" -msgstr "" +msgstr "Dátum és idő" -#, fuzzy msgid "Default" -msgstr "Alapértelmezés visszaállítása" +msgstr "Alapértelmezett" msgid "Delete" msgstr "Törlés" #, python-format msgid "Delete %d file(s)?" -msgstr "" +msgstr "Törli a(z) %d fájlt?" -#, fuzzy msgid "Delete Bookmark" -msgstr "Branch törlése" +msgstr "Könyvjelző törlése" -#, fuzzy msgid "Delete Bookmark?" -msgstr "Branch törlése" +msgstr "Törli a könyvjelzőt?" msgid "Delete Branch" -msgstr "Branch törlése" +msgstr "Ág törlése" -#, fuzzy msgid "Delete Files" -msgstr "Törlés" +msgstr "Fájlok törlése" -#, fuzzy msgid "Delete Files..." -msgstr "Törlés..." +msgstr "Fájlok törlése…" -#, fuzzy msgid "Delete Files?" -msgstr "Törlés" +msgstr "Törli a fájlokat?" -#, fuzzy msgid "Delete Remote" -msgstr "Távoli branch törlése" +msgstr "Távoli törlése" -#, fuzzy msgid "Delete Remote Branch" -msgstr "Távoli branch törlése" +msgstr "Távoli ág törlése" -#, fuzzy msgid "Delete Remote Branch..." -msgstr "Távoli branch törlése" +msgstr "Távoli ág törlése…" -#, fuzzy msgid "Delete remote" -msgstr "Távoli branch törlése" +msgstr "Távoli törlése" -#, fuzzy, python-format +#, python-format msgid "Delete remote \"%s\"" -msgstr "Távoli branch törlése" +msgstr "„%s” távoli törlése" -#, fuzzy msgid "Delete remote?" -msgstr "Távoli branch törlése" +msgstr "Törli a távolit?" -#, fuzzy msgid "Delete selected branch?" -msgstr "Távoli branch törlése" +msgstr "Törli a kijelölt ágat?" -#, fuzzy msgid "Delete toolbar" -msgstr "Branch törlése" +msgstr "Eszköztár törlése" msgid "Delete..." -msgstr "Törlés..." +msgstr "Törlés…" #, python-format msgid "Deleting \"%s\" failed" -msgstr "" +msgstr "„%s” törlése sikertelen" -#, fuzzy msgid "Deletions" -msgstr "Törlés" +msgstr "Törlések" -#, fuzzy msgid "Detach" -msgstr "Branch törlése" +msgstr "Leválasztás" msgid "Detect Conflict Markers" -msgstr "" +msgstr "Ütközésjelölők észlelése" msgid "Detect conflict markers in unmerged files" -msgstr "" +msgstr "Ütközésjelölők észlelése a nem beolvasztott fájlokban" msgid "Developer" -msgstr "" +msgstr "Fejlesztő" msgid "Diff" -msgstr "" +msgstr "Összehasonlítás" msgid "Diff Against Predecessor..." -msgstr "" +msgstr "Összehasonlítás az előddel…" -#, fuzzy msgid "Diff Options" -msgstr "Opciók" +msgstr "Összehasonlítási lehetőségek" msgid "Diff Tool" -msgstr "" +msgstr "Összehasonlító eszköz" msgid "Diff selected -> this" -msgstr "" +msgstr "Kijelölt összehasonlítása → ezzel" msgid "Diff this -> selected" -msgstr "" +msgstr "Ez összehasonlítása → a kijelölttel" msgid "Diffstat" -msgstr "" +msgstr "Összehasonlítási statisztika" -#, fuzzy msgid "Difftool" -msgstr "Opciók" +msgstr "Összehasonlító eszköz" -#, fuzzy msgid "Directory Exists" -msgstr "Könyvtár:" +msgstr "Könyvtár létezik" msgid "Display Untracked Files" -msgstr "" +msgstr "Nem követett fájlok megjelenítése" -#, fuzzy msgid "Documentation" -msgstr "Online dokumentáció" +msgstr "Dokumentáció" msgid "Drop" -msgstr "" +msgstr "Eldobás" msgid "Drop Stash" -msgstr "" +msgstr "Félretett változat eldobása" msgid "Drop Stash?" -msgstr "" +msgstr "Eldobja a félrerakott változatot?" #, python-format msgid "Drop the \"%s\" stash?" -msgstr "" +msgstr "Eldobja a(z) „%s” félretett változatot?" msgid "Drop the selected stash" -msgstr "" +msgstr "Kijelölt félretett változat eldobása" -#, fuzzy msgid "Edit" msgstr "Szerkesztés" -#, fuzzy msgid "Edit Rebase" -msgstr "Visszaállítás" +msgstr "Újraalapozás szerkesztése" -#, fuzzy msgid "Edit Remotes" -msgstr "Távoli" +msgstr "Távolik szerkesztése" msgid "Edit Remotes..." -msgstr "" +msgstr "Távolik szerkesztése…" msgid "Edit remotes by selecting them from the list" -msgstr "" +msgstr "Távoli szerkesztése a listából való kijelöléssel" msgid "Edit selected paths" -msgstr "" +msgstr "Kijelölt útvonalak szerkesztése" -#, fuzzy msgid "Edit..." -msgstr "Szerkesztés" +msgstr "Szerkesztés…" -#, fuzzy msgid "Editor" -msgstr "Szerkesztés" +msgstr "Szerkesztő" msgid "Email Address" -msgstr "Email cím" +msgstr "E-mail cím" msgid "Email contributor" -msgstr "" +msgstr "E-mail közreműködő" msgid "Enabled" -msgstr "" +msgstr "Engedélyezett" -#, fuzzy msgid "Enter New Branch Name" -msgstr "Branch neve" +msgstr "Adja meg az új ág nevét" msgid "Enter a name for the new bare repo" -msgstr "" +msgstr "Adja meg az új csupasz tároló nevét" msgid "Enter a name for the stash" -msgstr "" +msgstr "Adjon meg egy nevet a félrerakáshoz" -#, fuzzy msgid "Error" -msgstr "hiba" +msgstr "Hiba" -#, fuzzy msgid "Error Cloning" -msgstr "Hiba a fájl betöltése közben:" +msgstr "Hiba a klónozáskor" -#, fuzzy msgid "Error Creating Branch" -msgstr "Branch létrehozása" +msgstr "Hiba az ág létrehozásakor" -#, fuzzy msgid "Error Creating Repository" -msgstr "Új repó létrehozása" +msgstr "Hiba a tároló létrehozásakor" -#, fuzzy msgid "Error Deleting Remote Branch" -msgstr "Branch létrehozása" +msgstr "Hiba a távoli ág törlésekor" -#, fuzzy msgid "Error Editing File" -msgstr "Hiba a diff betöltése közben:" +msgstr "Hiba a fájl szerkesztésekor" -#, fuzzy msgid "Error Launching Blame Viewer" -msgstr "Fájl böngésző" +msgstr "Hiba a gyanúsító megjelenítő indítása közben" -#, fuzzy msgid "Error Launching History Browser" -msgstr "Fájl böngésző" +msgstr "Hiba a történetböngésző indításakor" #, python-format msgid "Error creating remote \"%s\"" -msgstr "" +msgstr "Hiba a(z) „%s” távoli létrehozásakor" -#, fuzzy msgid "Error creating stash" -msgstr "Branch létrehozása" +msgstr "Hiba a félretett változat létrehozásakor" #, python-format msgid "Error deleting remote \"%s\"" -msgstr "" +msgstr "Hiba a(z) „%s” távoli törlésekor" #, python-format msgid "Error renaming \"%(name)s\" to \"%(new_name)s\"" -msgstr "" +msgstr "Hiba az átnevezéskor: „%(name)s” → „%(new_name)s”" -#, fuzzy msgid "Error running prepare-commitmsg hook" -msgstr "A pre-commit hurok meghívása..." +msgstr "Hiba a prepare-commitmsg hurok futtatásakor" -#, fuzzy, python-format +#, python-format msgid "Error updating submodule %s" -msgstr "Hiba a diff betöltése közben:" +msgstr "Hiba a(z) %s almodul frissítésekor" -#, fuzzy msgid "Error updating submodules" -msgstr "Hiba a diff betöltése közben:" +msgstr "Hiba az almodulok frissítésekor" msgid "Error: Cannot find commit template" -msgstr "" +msgstr "Hiba: Nem található véglegesítési üzenetsablon" msgid "Error: Stash exists" -msgstr "" +msgstr "Hiba: A félretett változat már létezik" msgid "Error: Unconfigured commit template" -msgstr "" +msgstr "Hiba: Nincs beállítva véglegesítési sablon" #, python-format msgid "Error: could not clone \"%s\"" -msgstr "" +msgstr "Hiba: A(z) „%s” nem klónozható" #, python-format msgid "Error: could not create tag \"%s\"" -msgstr "" +msgstr "Hiba: A(z) „%s” címke nem hozható létre" -#, fuzzy, python-format +#, python-format msgid "Executing action %s" -msgstr "Szótár visszaállítása a következőre: %s." +msgstr "Művelet végrehajtása: %s" msgid "Expand all" -msgstr "" +msgstr "Összes kibontása" msgid "Export Patches" -msgstr "" +msgstr "Foltok exportálása" msgid "Export Patches..." -msgstr "" +msgstr "Foltok exportálása…" -#, fuzzy msgid "Expression..." -msgstr "Opciók..." +msgstr "Kifejezés…" msgid "Extended Regexp" -msgstr "" +msgstr "Bővített regexp" msgid "Extended description..." -msgstr "" +msgstr "Bővített leírás…" msgid "Fast Forward Only" -msgstr "Csak fast forward" +msgstr "Csak előrepörgetés" -#, fuzzy msgid "Fast-forward only" -msgstr "Csak fast forward" +msgstr "Csak előrepörgetés" -#, fuzzy msgid "Favorite repositories" -msgstr "Legutóbbi repók" +msgstr "Kedvenc tárolók" msgid "Favorites" -msgstr "" +msgstr "Kedvencek" -#, fuzzy msgid "Fetch" -msgstr "Visszaállítás..." +msgstr "Letöltés" msgid "Fetch Tracking Branch" -msgstr "Követő branch letöltése" +msgstr "Követett ág letöltése" -#, fuzzy msgid "Fetch..." -msgstr "Visszaállítás..." +msgstr "Letöltés…" -#, fuzzy msgid "File Browser..." -msgstr "Böngészés" +msgstr "Fájlböngésző…" -#, fuzzy msgid "File Differences" -msgstr "Beállítások" +msgstr "Fájlok különbségei" msgid "File Saved" -msgstr "" +msgstr "Fájl mentve" #, python-format msgid "File saved to \"%s\"" -msgstr "" +msgstr "Fájl mentve: „%s”" -msgid "File system change monitoring: disabled because \"cola.inotify\" is false.\n" +msgid "" +"File system change monitoring: disabled because \"cola.inotify\" is false.\n" msgstr "" +"A fájlrendszer változásainak figyelése: letiltva, mivel a „cola.inotify” " +"hamis.\n" -msgid "File system change monitoring: disabled because libc does not support the inotify system calls.\n" +msgid "" +"File system change monitoring: disabled because libc does not support the " +"inotify system calls.\n" msgstr "" +"A fájlrendszer változásainak figyelése: letiltva, mivel a libc nem támogatja " +"az inotify rendszerhívásait.\n" -msgid "File system change monitoring: disabled because pywin32 is not installed.\n" +msgid "" +"File system change monitoring: disabled because pywin32 is not installed.\n" msgstr "" +"A fájlrendszer változásainak figyelése: letiltva, mivel a pywin32 nincs " +"telepítve.\n" msgid "" -"File system change monitoring: disabled because the limit on the total number of inotify watches was reached. You may be able to increase the limit on the number of watches by running:\n" +"File system change monitoring: disabled because the limit on the total " +"number of inotify watches was reached. You may be able to increase the " +"limit on the number of watches by running:\n" "\n" -" echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p\n" +" echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf " +"&& sudo sysctl -p\n" msgstr "" +"A fájlrendszer változásainak figyelése: letiltva, mivel az inotify " +"megfigyelő elérte a teljes létszám korlátját. Ezt a korlátot meg lehet " +"növelni az alábbi futtatásával:\n" +"\n" +" echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf " +"&& sudo sysctl -p\n" -#, fuzzy msgid "File system change monitoring: enabled.\n" -msgstr "A fájl módosítási dátumok megbízhatóak\n" +msgstr "A fájlrendszer változásainak figyelése: engedélyezve\n" -#, fuzzy msgid "Filename" -msgstr "Átnevezés" +msgstr "Fájlnév" -#, fuzzy msgid "Files" -msgstr "Fájl:" +msgstr "Fájlok" -#, fuzzy msgid "Filter branches..." -msgstr "Visszaállítás..." +msgstr "Ágak szűrése…" -#, fuzzy msgid "Filter paths..." -msgstr "Visszaállítás..." +msgstr "Útvonalak szűrése…" -#, fuzzy msgid "Find Files" -msgstr "Fájl:" +msgstr "Fájlok keresése" msgid "Fixed String" -msgstr "" +msgstr "Rögzített szöveg" msgid "Fixed-Width Font" -msgstr "" +msgstr "Rögzített szélességű betűkészlet" msgid "Fixup" -msgstr "" +msgstr "Gyorsjavítás" -#, fuzzy msgid "Fixup Previous Commit" -msgstr "Merge commit üzenet:" +msgstr "Előző véglegesítés gyorsjavítása" msgid "Flat dark blue" -msgstr "" +msgstr "Lapos sötétkék" msgid "Flat dark green" -msgstr "" +msgstr "Lapos sötétzöld" msgid "Flat dark grey" -msgstr "" +msgstr "Lapos sötétszürke" msgid "Flat dark red" -msgstr "" +msgstr "Lapos sötétvörös" msgid "Flat light blue" -msgstr "" +msgstr "Lapos világoskék" msgid "Flat light green" -msgstr "" +msgstr "Lapos világoszöld" msgid "Flat light grey" -msgstr "" +msgstr "Lapos világosszürke" msgid "Flat light red" -msgstr "" +msgstr "Lapos világos vörös" msgid "Font Size" -msgstr "Font méret" +msgstr "Betűméret" msgid "Force" -msgstr "" +msgstr "Kényszerítés" msgid "Force Fetch" -msgstr "" +msgstr "Letöltés kényszerítése" msgid "Force Fetch?" -msgstr "" +msgstr "Kényszeríti a letöltést?" msgid "Force Push" -msgstr "" +msgstr "Felküldés kényszerítése" msgid "Force Push?" -msgstr "" +msgstr "Kényszeríti a felküldést?" -#, fuzzy, python-format +#, python-format msgid "Force fetching from %s?" -msgstr "A(z) %s letöltése innen: %s" +msgstr "Kényszeríti a letöltést innen: %s?" -#, fuzzy, python-format +#, python-format msgid "Force push to %s?" -msgstr "Pusholás ide: %s..." +msgstr "Kényszeríti a felküldést ide: %s?" msgid "Format String" -msgstr "" +msgstr "Formázó karakterlánc" msgid "French translation" -msgstr "" +msgstr "Francia fordítás" msgid "GPG-sign the merge commit" -msgstr "" +msgstr "A beolvasztási véglegesítés GPG-aláírása" msgid "GUI theme" -msgstr "" +msgstr "Felhasználói felület témája" -#, fuzzy, python-format +#, python-format msgid "Gathering info for \"%s\"..." -msgstr "A(z) %s diff-jének betöltése..." +msgstr "Információk gyűjtése erről: „%s”…" msgid "German translation" -msgstr "" +msgstr "Német fordítás" -#, fuzzy msgid "Get Commit Message Template" -msgstr "Commit üzenet szövegének szélessége" +msgstr "Véglegesítő üzenetsablon lekérdezése" msgid "Go Down" -msgstr "" +msgstr "Lefelé" msgid "Go Up" -msgstr "" +msgstr "Felfelé" msgid "Grab File..." -msgstr "" +msgstr "Fájl megfogása…" msgid "Graph" -msgstr "" +msgstr "Grafikon" msgid "Grep" -msgstr "" +msgstr "Grep" msgid "Have you rebased/pulled lately?" -msgstr "" +msgstr "Újraalapozott vagy lekért nemrégiben?" msgid "Help" -msgstr "Segítség" +msgstr "Súgó" msgid "Help - Custom Copy Actions" -msgstr "" +msgstr "Súgó – Egyéni másolási műveletek" msgid "Help - Find Files" -msgstr "" +msgstr "Súgó – Fájlok keresése" msgid "Help - git-xbase" -msgstr "" +msgstr "Súgó – git-xbase" msgid "Hide Details.." -msgstr "" +msgstr "Részletek elrejtése…" msgid "High DPI" -msgstr "" +msgstr "Magas DPI" -#, fuzzy msgid "History Browser" -msgstr "Fájl böngésző" +msgstr "Történetböngésző" msgid "Hungarian translation" -msgstr "" +msgstr "Magyar fordítás" msgid "Icon theme" -msgstr "" +msgstr "Ikontéma" msgid "Ignore all whitespace" -msgstr "" +msgstr "Üres helyek mellőzése" msgid "Ignore changes in amount of whitespace" -msgstr "" +msgstr "Üres helyek mennyiségváltozásának mellőzése" msgid "Ignore changes in whitespace at EOL" -msgstr "" +msgstr "Sorvégi üres helyek változásának mellőzése" msgid "Ignore custom pattern" -msgstr "" +msgstr "Egyéni minta mellőzése" msgid "Ignore exact filename" -msgstr "" +msgstr "Pontos fájlnév mellőzése" msgid "Ignore filename or pattern" -msgstr "" +msgstr "Fájlnév vagy minta mellőzése" -#, fuzzy msgid "Include tags " -msgstr "Tageket is" +msgstr "Címkéket is" msgid "Indent Status paths" -msgstr "" +msgstr "Státuszútvonalak behúzása" msgid "Indonesian translation" -msgstr "" +msgstr "Indonéz fordítás" -#, fuzzy msgid "Initialize Git Annex" -msgstr "Inicializálás..." +msgstr "Git Annex előkészítése" -#, fuzzy msgid "Initialize Git LFS" -msgstr "Inicializálás..." +msgstr "Git LFS előkészítése" msgid "Inititalize submodules" -msgstr "" +msgstr "Almodulok előkészítése" msgid "Insert spaces instead of tabs" -msgstr "" +msgstr "Szóközök a tabulátorok helyett" msgid "Interactive Rebase" -msgstr "" +msgstr "Interaktív újraalapozás" -#, fuzzy msgid "Invalid Revision" -msgstr "Érvénytelen revízió: %s" +msgstr "Érvénytelen revízió" msgid "Keep *.orig Merge Backups" -msgstr "" +msgstr "Beolvasztási *.orig biztonsági tartalék megtartása" msgid "Keep Index" -msgstr "" +msgstr "Jegyzék megtartása" msgid "Keyboard Shortcuts" -msgstr "" +msgstr "Gyorsbillentyűk" msgid "Launch Diff Tool" -msgstr "" +msgstr "Összehasonlító eszköz indítása" msgid "Launch Directory Diff Tool" -msgstr "" +msgstr "Könyvtár-összehasonlító eszköz indítása" msgid "Launch Editor" -msgstr "" +msgstr "Szerkesztő indítása" msgid "Launch Terminal" -msgstr "" +msgstr "Terminál indítása" msgid "" "Launch external diff tool\n" "Shortcut: Ctrl+D" msgstr "" +"Külső összehasonlító eszköz indítása\n" +"Gyorsbillentyű: Ctrl+D" msgid "Launch git-cola" -msgstr "" +msgstr "git-cola indítása" msgid "Launch git-difftool against previous versions" -msgstr "" +msgstr "git-difftool indítása az előző verzión" msgid "Launch git-difftool on the current path" -msgstr "" +msgstr "git-difftool indítása a jelenlegi útvonalon" msgid "Light Theme" -msgstr "" +msgstr "Világos téma" -#, fuzzy msgid "Load Commit Message" -msgstr "Commit üzenet:" +msgstr "Véglegesítő üzenet betöltése" -#, fuzzy msgid "Load Commit Message..." -msgstr "Commit üzenet:" +msgstr "Véglegesítő üzenet betöltése…" -#, fuzzy msgid "Load Previous Commit Message" -msgstr "Merge commit üzenet:" +msgstr "Előző véglegesítő üzenet betöltése" -#, fuzzy msgid "Loading..." -msgstr "A(z) %s betöltése..." +msgstr "Betöltés…" msgid "Local" -msgstr "" +msgstr "Helyi" msgid "Local Branch" -msgstr "Helyi branch" +msgstr "Helyi ág" -#, fuzzy msgid "Local branch" -msgstr "Helyi branch" +msgstr "Helyi ág" msgid "Lock Layout" -msgstr "" +msgstr "Elrendezés zárolása" msgid "Log" -msgstr "" +msgstr "Napló" msgid "Maintainer (since 2007) and developer" -msgstr "" +msgstr "Karbantartó (2007 óta) és fejlesztő" msgid "Merge" -msgstr "Merge" +msgstr "Beolvasztás" #, python-format msgid "Merge \"%(revision)s\" into \"%(branch)s\"" -msgstr "" +msgstr "„%(revision)s” beolvasztása az ágba: „%(branch)s”" -#, fuzzy msgid "Merge Tool" -msgstr "Merge" +msgstr "Beolvasztó eszköz" msgid "Merge Verbosity" -msgstr "Merge beszédesség" +msgstr "Beolvasztás beszédessége" msgid "Merge failed. Conflict resolution is required." -msgstr "A merge sikertelen. Fel kell oldanunk az ütközéseket." +msgstr "A beolvasztás sikertelen. Fel kell oldani az ütközéseket." -#, fuzzy, python-format +#, python-format msgid "Merge into \"%s\"" -msgstr "Merge-ölés a következőbe: %s" +msgstr "Beolvasztás a következőbe: „%s”" -#, fuzzy msgid "Merge into current branch" -msgstr "A jelenlegi branch fájljainak böngészése" +msgstr "Beolvasztás a jelenlegi ágba" -#, fuzzy msgid "Merge..." -msgstr "Merge" +msgstr "Beolvasztás…" -#, fuzzy msgid "Merging" -msgstr "Merge" +msgstr "Beolvasztás" -#, fuzzy msgid "Message" -msgstr "Merge" +msgstr "Üzenet" -#, fuzzy msgid "Missing Commit Message" -msgstr "Merge commit üzenet:" +msgstr "Hiányzó véglegesítési üzenet" -#, fuzzy msgid "Missing Data" -msgstr "Hiányzó" +msgstr "Hiányzó adat" -#, fuzzy msgid "Missing Name" -msgstr "Hiányzó" +msgstr "Hiányzó név" -#, fuzzy msgid "Missing Revision" -msgstr "A következő revíziótól" +msgstr "Hiányzó revízió" -#, fuzzy msgid "Missing Tag Message" -msgstr "Merge-ölni szándékozott revízió" +msgstr "Hiányzó címkeüzenet" -#, fuzzy msgid "Modified" -msgstr "Nem módosított" +msgstr "Módosított" -#, fuzzy msgid "More..." -msgstr "Másolás..." +msgstr "További…" msgid "Move Down" -msgstr "" +msgstr "Mozgatás lefelé" msgid "Move Up" -msgstr "" +msgstr "Mozgatás felfelé" msgid "Move files to trash" -msgstr "" +msgstr "Fájlok kukába dobása" -#, fuzzy msgid "Name" -msgstr "Név:" +msgstr "Név" msgid "Name for the new remote" -msgstr "" +msgstr "Az új távoli neve" -#, fuzzy msgid "New Bare Repository..." -msgstr "Git repó" +msgstr "Új csupasz tároló…" -#, fuzzy msgid "New Repository..." -msgstr "Git repó" +msgstr "Új tároló…" msgid "New..." -msgstr "Új..." +msgstr "Új…" -#, fuzzy msgid "Next File" -msgstr "Mindent kiválaszt" +msgstr "Következő fájl" msgid "No" msgstr "Nem" -#, fuzzy msgid "No Revision Specified" -msgstr "Nincs kiválasztva revízió." +msgstr "Nincs revízió megadva" -#, fuzzy msgid "" "No changes to commit.\n" "\n" "You must stage at least 1 file before you can commit." msgstr "" -"Nincs commitolandó változtatás.\n" +"Nincs véglegesíthető változtatás.\n" "\n" -"Legalább egy fájl ki kell választani, hogy commitolni lehessen." +"Legalább egy fájl ki kell szemelni, hogy véglegesíteni lehessen." msgid "No commits exist in this branch." -msgstr "" +msgstr "Nincsenek véglegesítések ebben az ágban." -#, fuzzy msgid "No fast forward" -msgstr "Csak fast forward" +msgstr "Nincs előrepörgetés" -#, fuzzy msgid "No fast-forward" -msgstr "Csak fast forward" +msgstr "Nincs előrepörgetés" msgid "No repository selected." -msgstr "Nincs kiválasztott repó." +msgstr "Nincs tároló kiválasztva." msgid "Non-fast-forward fetch overwrites local history!" -msgstr "" +msgstr "A nem előrepörgetett letöltés felülírja a helyi történetet!" msgid "" "Non-fast-forward push overwrites published history!\n" "(Did you pull first?)" msgstr "" +"A nem előrepörgetett felküldés felülírja a közzétett történetet!\n" +"(Csinált előtte lekérést?)" -#, fuzzy msgid "Nothing to commit" -msgstr "Nincs commitolandó változtatás." +msgstr "Nincs véglegesíthető változás" -#, fuzzy msgid "Nothing to do" -msgstr "Semmi másolni való nincs innen: %s" +msgstr "Nincs teendő" msgid "Number of Diff Context Lines" msgstr "A diff környezeti sorok száma" @@ -1592,88 +1620,83 @@ msgid "Open" msgstr "Megnyitás" -#, fuzzy msgid "Open Git Repository..." -msgstr "Létező könyvtár megnyitása" +msgstr "Git tároló megnyitása…" -#, fuzzy msgid "Open Parent" -msgstr "Legutóbbi repók megnyitása:" +msgstr "Szülő megnyitása" -#, fuzzy msgid "Open Parent Directory" -msgstr "Legutóbbi repók megnyitása:" +msgstr "Szülő könyvtár megnyitása" -#, fuzzy msgid "Open Recent" -msgstr "Legutóbbi repók megnyitása:" +msgstr "Legutóbbiak megnyitása" msgid "Open Using Default Application" -msgstr "" +msgstr "Megnyitás az alapértelmezett alkalmazással" msgid "Open in New Window" -msgstr "" +msgstr "Megnyitás új ablakban" -#, fuzzy msgid "Open in New Window..." -msgstr "Létező könyvtár megnyitása" +msgstr "Megnyitás új ablakban…" msgid "Open..." -msgstr "Megnyitás..." +msgstr "Megnyitás…" -#, fuzzy msgid "Other branches" -msgstr "Visszaállítás..." +msgstr "Egyéb ágak" msgid "Overwrite" -msgstr "" +msgstr "Felülírás" #, python-format msgid "Overwrite \"%s\"?" -msgstr "" +msgstr "Felülírja: „%s”?" msgid "Overwrite File?" -msgstr "" +msgstr "Felülírja a fájlt?" msgid "" "Parse arguments using a shell.\n" "Queries with spaces will require \"double quotes\"." msgstr "" +"Argumentumok feldolgozása parancsértelmezővel.\n" +"A szóközökkel rendelkező lekérdezéseket \"dupla idézőjelekkel\" kell " +"levédeni." msgid "Partially Staged" -msgstr "" +msgstr "Részlegesen kiszemelve" msgid "Paste" msgstr "Beillesztés" msgid "Patch(es) Applied" -msgstr "" +msgstr "Alkalmazott folt(ok)" msgid "Path" -msgstr "" +msgstr "Útvonal" msgid "Path or URL to clone (Env. $VARS okay)" -msgstr "" +msgstr "Klónozandó útvonal vagy URL ($VARS környezeti változó rendben)" msgid "Pick" -msgstr "" +msgstr "Kiválasztás" msgid "Pixel XOR" -msgstr "" +msgstr "Pixel alapú logikai kizáró vagy" msgid "Please provide both a branch name and revision expression." -msgstr "" +msgstr "Adjon meg ágnevet és revíziókifejezést is." -#, fuzzy msgid "Please select a file" -msgstr "Válasszunk ki egy követő branchet." +msgstr "Jelöljön ki egy fájlt" msgid "Please specify a name for the new tag." -msgstr "" +msgstr "Adjon meg egy nevet az új címke számára." -#, fuzzy msgid "Please specify a revision to tag." -msgstr "Válasszunk ki egy átnevezendő branchet." +msgstr "Jelöljön ki egy megcímkézendő revíziót." msgid "" "Please supply a commit message.\n" @@ -1684,322 +1707,286 @@ "- Second line: Blank\n" "- Remaining lines: Describe why this change is good.\n" msgstr "" -"Adjunk megy egy commit üzenetet.\n" +"Adjon meg egy véglegesítési üzenetet.\n" "\n" -"Egy jó commit üzenetnek a következő a formátuma:\n" +"Egy jó véglegesítő üzenet formátuma:\n" "\n" -"- Első sor: Egy mondatban leírja, hogy mit csináltunk.\n" +"- Első sor: Egy mondat arról, hogy mit csinált.\n" "- Második sor: Üres\n" -"- A többi sor: Leírja, hogy miért jó ez a változtatás.\n" +"- A többi sor: Leírás arról, hogy miért jó ez a változtatás.\n" msgid "Point the current branch head to a new commit?" -msgstr "" +msgstr "A jelenlegi ág fejét az új véglegesítésre állítja?" msgid "Polish translation" -msgstr "" +msgstr "Lengyel fordítás" msgid "Pop" -msgstr "" +msgstr "Alkalmazás és eldobás" msgid "Preferences" msgstr "Beállítások" msgid "Prefix" -msgstr "" +msgstr "Előtag" -#, fuzzy msgid "Prepare Commit Message" -msgstr "Merge commit üzenet:" +msgstr "Véglegesítési üzenet előkészítése" msgid "Prevent \"Stage\" from staging all files when nothing is selected" msgstr "" +"Az összes fájl kiszemelésének megakadályozása a „kiszemelés” számára, ha " +"semmi sincs kijelölve" msgid "Previous File" -msgstr "" +msgstr "Előző fájl" msgid "Prompt on creation" -msgstr "" +msgstr "Kérdés létrehozáskor" -#, fuzzy msgid "Prompt when pushing creates new remote branches" -msgstr "Új branch létrehozása" +msgstr "Kérdés, ha a felküldés új távoli ágat hozna létre" -#, fuzzy msgid "Prune " -msgstr "Törlés innen" +msgstr "Tisztogatás" -#, fuzzy msgid "Pull" -msgstr "Push..." +msgstr "Lekérés" -#, fuzzy msgid "Pull..." -msgstr "Push..." +msgstr "Lekérés…" msgid "Push" -msgstr "Push" +msgstr "Felküldés" msgid "Push..." -msgstr "Push..." +msgstr "Felküldés…" msgid "Quit" msgstr "Kilépés" -#, fuzzy msgid "Rebase" -msgstr "Visszaállítás" +msgstr "Újraalapozás" -#, fuzzy, python-format +#, python-format msgid "Rebase onto %s" -msgstr "Visszaállítás" +msgstr "Újraalapozás erre: %s" -#, fuzzy msgid "Rebase stopped" -msgstr "Visszaállítás" +msgstr "Újraalapozás leállítva" msgid "Rebase the current branch instead of merging" -msgstr "" +msgstr "Újraalapozás – beolvasztás helyett – a jelenlegi ágra" -#, fuzzy msgid "Rebasing" -msgstr "Visszaállítás" +msgstr "Újraalapozás" -#, fuzzy msgid "Recent" -msgstr "Visszaállítás" +msgstr "Legutóbbiak" -#, fuzzy msgid "Recent repositories" -msgstr "Legutóbbi repók" +msgstr "Legutóbbi tárolók" -#, fuzzy msgid "Recent repository count" -msgstr "Legutóbbi repók" +msgstr "Legutóbbi tárolók száma" msgid "Recently Modified Files" -msgstr "" +msgstr "Legutóbb módosított fájlok" -#, fuzzy msgid "Recently Modified Files..." -msgstr "Módosított fájlok keresése ..." +msgstr "Legutóbb módosított fájlok…" -#, fuzzy msgid "Recovering a dropped stash is not possible." -msgstr "Az elveszett commitok helyreállítása nem biztos, hogy egyszerű." +msgstr "Az eldobott félretett változatok helyreállítása nem lehetséges." msgid "Recovering lost commits may not be easy." -msgstr "Az elveszett commitok helyreállítása nem biztos, hogy egyszerű." +msgstr "Az elveszett véglegesítések helyreállítása nem biztos, hogy egyszerű." msgid "Redo" msgstr "Mégis" msgid "Reduce commit history to minimum" -msgstr "" +msgstr "Véglegesítési üzenetek történetének minimalizálása" msgid "Refresh" msgstr "Frissítés" -msgid "Refuse to merge unless the current HEAD is already up-to-date or the merge can be resolved as a fast-forward" +msgid "" +"Refuse to merge unless the current HEAD is already up-to-date or the merge " +"can be resolved as a fast-forward" msgstr "" +"A beolvasztás visszautasítása, kivéve, ha a jelenlegi FEJ már friss, vagy a " +"beolvasztást előrepörgetéssel lehet végezni" msgid "Remote" msgstr "Távoli" -#, fuzzy msgid "Remote Branch" -msgstr "Branch átnevezése" +msgstr "Távoli ág" -#, fuzzy msgid "Remote Branch Deleted" -msgstr "Branch átnevezése" +msgstr "Távoli ág törölve" msgid "Remote git repositories - double-click to rename" -msgstr "" +msgstr "Távoli git tárolók – dupla kattintás az átnevezéshez" -#, fuzzy msgid "Remove" -msgstr "Távoli" +msgstr "Eltávolítás" #, python-format msgid "Remove %s from the recent list?" -msgstr "" +msgstr "Eltávolítja a legutóbbiak listájáról: %s?" -#, fuzzy msgid "Remove Element" -msgstr "Távoli" +msgstr "Elem eltávolítása" msgid "Remove remote-tracking branches that no longer exist on the remote" -msgstr "" +msgstr "Távoli követett ágak eltávolítása, melyek már nem léteznek a távolin" -#, fuzzy msgid "Remove selected (Delete)" -msgstr "Branch átnevezése" +msgstr "Kijelöltek eltávolítása (Törlés)" msgid "Rename" msgstr "Átnevezés" -#, fuzzy, python-format +#, python-format msgid "Rename \"%s\"" -msgstr "Átnevezés" +msgstr "„%s” átnevezése" -#, fuzzy msgid "Rename Branch" -msgstr "Branch átnevezése" +msgstr "Ág átnevezése" -#, fuzzy msgid "Rename Branch..." -msgstr "Branch átnevezése" +msgstr "Ág átnevezése…" -#, fuzzy msgid "Rename Existing Branch" -msgstr "Létező branch frissítése" +msgstr "Létező ág átnevezése" -#, fuzzy msgid "Rename Remote" -msgstr "Távoli" +msgstr "Távoli átnevezése" -#, fuzzy msgid "Rename Repository" -msgstr "Létező repó másolása" +msgstr "Tároló átnevezése" -#, fuzzy msgid "Rename branch" -msgstr "Branch átnevezése" +msgstr "Ág átnevezése" #, python-format msgid "Rename remote \"%(current)s\" to \"%(new)s\"?" -msgstr "" +msgstr "Átnevezi a(z) „%(current)s” távolit erre: „%(new)s”?" -#, fuzzy msgid "Rename selected paths" -msgstr "Branch átnevezése" +msgstr "Kijelölt útvonalak átnevezése" -#, fuzzy, python-format +#, python-format msgid "Repository: %s" -msgstr "Repó:" +msgstr "Tároló: %s" msgid "Reset" msgstr "Visszaállítás" #, python-format msgid "Reset \"%(branch)s\" to \"%(revision)s\"?" -msgstr "" +msgstr "Visszaállítja a(z) „%(branch)s” ágat erre: „%(revision)s”?" -#, fuzzy msgid "Reset Branch" -msgstr "Branch törlése" +msgstr "Ág visszaállítása" -#, fuzzy msgid "Reset Branch Head" -msgstr "Branch törlése" +msgstr "Ág fejének visszaállítása" -#, fuzzy msgid "Reset Branch?" -msgstr "Branch törlése" +msgstr "Visszaállítja az ágat?" -#, fuzzy msgid "Reset Hard" -msgstr "Branch törlése" +msgstr "Teljes visszaállítás" -#, fuzzy msgid "Reset Merge" -msgstr "Merge-ölni szándékozott revízió" +msgstr "Beolvasztás visszaállítása" -#, fuzzy msgid "Reset Soft" -msgstr "Visszaállítás" +msgstr "Nyugodt visszaállítás" msgid "Reset Worktree" -msgstr "" +msgstr "Munkafa visszaállítása" -#, fuzzy msgid "Reset hard?" -msgstr "Branch törlése" +msgstr "Elindítja a teljes visszaállítást?" -#, fuzzy msgid "Reset merge?" -msgstr "Branch törlése" +msgstr "Elindítja a beolvasztás visszaállítását?" -#, fuzzy msgid "Reset soft?" -msgstr "Visszaállítjuk a következőt: '%s'?" +msgstr "Elindítja a nyugodt visszaállítást?" msgid "Reset worktree?" -msgstr "" +msgstr "Elindítja a munkafa visszaállítását?" -#, fuzzy, python-format +#, python-format msgid "Resetting \"%(branch)s\" to \"%(revision)s\" will lose commits." -msgstr "A(z) '%s' -> '%s' visszaállítás a következő commitok elvesztését jelenti:" +msgstr "" +"A(z) „%(branch)s” visszaállítása a(z) „%(revision)s” revízióra a " +"véglegesítések elvesztéséhez vezet." msgid "Restart the application after changing appearance settings." -msgstr "" +msgstr "A megjelenési beállítások módosítása után indítsa újra az alkalmazást." msgid "Revert" -msgstr "" +msgstr "Visszavonás" msgid "Revert Diff Hunk" -msgstr "" +msgstr "Összehasonlítási egység visszavonása" msgid "Revert Diff Hunk..." -msgstr "" +msgstr "Összehasonlítási egység visszavonása…" msgid "Revert Diff Hunk?" -msgstr "" +msgstr "Visszavonja az összehasonítási egységeket?" msgid "Revert Selected Lines" -msgstr "" +msgstr "Kijelölt sorok visszavonása" msgid "Revert Selected Lines..." -msgstr "" +msgstr "Kijelölt sorok visszavonása…" -#, fuzzy msgid "Revert Selected Lines?" -msgstr "Visszaállítja a változtatásokat a(z) %s fájlban?" +msgstr "Visszavonja a kijelölt sorokat?" -#, fuzzy msgid "Revert Uncommitted Changes" -msgstr "Változtatások visszaállítása" +msgstr "Nem véglegesített módosítások visszavonása" -#, fuzzy msgid "Revert Uncommitted Changes?" -msgstr "Változtatások visszaállítása" +msgstr "Visszavonja a nem véglegesített módosításokat?" -#, fuzzy msgid "Revert Uncommitted Edits..." -msgstr "Változtatások visszaállítása" +msgstr "Nem véglegesített szerkesztések visszavonása…" -#, fuzzy msgid "Revert Unstaged Changes" -msgstr "Kiválasztatlan változtatások" +msgstr "Elengedett módosítások visszavonása" -#, fuzzy msgid "Revert Unstaged Changes?" -msgstr "Kiválasztatlan változtatások" +msgstr "Visszavonja az elengedett módosításokat?" msgid "Revert Unstaged Edits..." -msgstr "" +msgstr "Elengedett szerkesztések visszavonása…" msgid "Revert the uncommitted changes?" -msgstr "" +msgstr "Visszavonja a nem véglegesített módosításokat?" -#, fuzzy msgid "Revert the unstaged changes?" -msgstr "Kiválasztatlan változtatások" +msgstr "Visszavonja az elengedett módosításokat?" -#, fuzzy msgid "Revert uncommitted changes to selected paths" -msgstr "Visszaállítja a változtatásokat a(z) %s fájlban?" +msgstr "Nem véglegesített módosítások visszavonása a kijelölt útvonalakon" -#, fuzzy msgid "Revert unstaged changes to selected paths" -msgstr "Visszaállítja a változtatásokat a(z) %s fájlban?" +msgstr "Elengedett módosítások visszavonása a kijelölt útvonalakon" msgid "Review" -msgstr "" +msgstr "Áttekintés" -#, fuzzy msgid "Review..." -msgstr "Visszaállítás..." +msgstr "Áttekintés…" msgid "Revision" msgstr "Revízió" @@ -2008,1738 +1995,689 @@ msgstr "Revízió kifejezés:" msgid "Revision to Merge" -msgstr "Merge-ölni szándékozott revízió" +msgstr "Beolvasztani kívánt revízió" msgid "Reword" -msgstr "" +msgstr "Átfogalmazás" msgid "Rewrite Published Commit?" -msgstr "" +msgstr "Újraírja a közzétett véglegesítést?" msgid "Run" -msgstr "" +msgstr "Futtatás" #, python-format msgid "Run \"%s\"?" -msgstr "" +msgstr "Futtatja ezt: „%s”?" #, python-format msgid "Run %s?" -msgstr "" +msgstr "Futtatja ezt: %s?" #, python-format msgid "Run the \"%s\" command?" -msgstr "" +msgstr "Futtatja a(z) „%s” parancsot?" #, python-format msgid "Running command: %s" -msgstr "" +msgstr "Parancs futtatása: %s" msgid "Russian translation" -msgstr "" +msgstr "Orosz fordítás" -#, fuzzy msgid "SHA-1" -msgstr "Összes másolása" +msgstr "SHA-1" msgid "Safe Mode" -msgstr "" +msgstr "Biztonságos mód" msgid "Save" msgstr "Mentés" msgid "Save Archive" -msgstr "" +msgstr "Mentés archívumként" msgid "Save As Tarball/Zip..." -msgstr "" +msgstr "Mentés tar-archívumként/zipként…" msgid "Save GUI Settings" -msgstr "" +msgstr "Felhasználói felület beállításainak mentése" msgid "Save Stash" -msgstr "" +msgstr "Félretett változat mentése" msgid "Save modified state to new stash" -msgstr "" +msgstr "A módosított állapot mentése új félretett változatként" #, python-format msgid "Saved \"%(filename)s\" from \"%(ref)s\" to \"%(destination)s\"" msgstr "" +"A(z) „%(ref)s” a(z) „%(filename)s” helyről ide lett mentve: „%(destination)s”" msgid "Search" -msgstr "" +msgstr "Keresés" msgid "Search Authors" -msgstr "" +msgstr "Szerzők keresése" -#, fuzzy msgid "Search Commit Messages" -msgstr "Merge commit üzenet:" +msgstr "Véglegesítési üzenetek keresése" -#, fuzzy msgid "Search Committers" -msgstr "Commiter:" +msgstr "Véglegesítők keresése" msgid "Search Date Range" -msgstr "" +msgstr "Dátumintervallum keresése" msgid "Search Diffs" -msgstr "" +msgstr "Összehasonlítások keresése" -#, fuzzy msgid "Search by Expression" -msgstr "Revízió kifejezés:" +msgstr "Keresés kifejezésre" msgid "Search by Path" -msgstr "" +msgstr "Keresés útvonal alapján" msgid "Search for a fixed string" -msgstr "" +msgstr "Keresés rögzített szövegre" msgid "Search using a POSIX basic regular expression" -msgstr "" +msgstr "Keresés POSIX alapszintű reguláris kifejezéssel" msgid "Search using a POSIX extended regular expression" -msgstr "" +msgstr "Keresés POSIX bővített reguláris kifejezéssel" -#, fuzzy msgid "Search..." -msgstr "Indítás..." +msgstr "Keresés…" msgid "Select" -msgstr "Kiválaszt" +msgstr "Kijelölés" msgid "Select All" -msgstr "Mindent kiválaszt" +msgstr "Összes kijelölése" -#, fuzzy msgid "Select Branch to Review" -msgstr "Branch törlése" +msgstr "Ág kijelölése áttekintéshez" -#, fuzzy msgid "Select Child" -msgstr "Mindent kiválaszt" +msgstr "Gyermek kijelölése" -#, fuzzy msgid "Select Commit" -msgstr "Merge commit üzenet:" +msgstr "Véglegesítés kijelölése" -#, fuzzy msgid "Select Directory..." -msgstr "Git repó" +msgstr "Könyvtár kijelölése…" -#, fuzzy msgid "Select New Upstream" -msgstr "Kiválaszt" +msgstr "Új távoli tároló kijelölése" msgid "Select Newest Child" -msgstr "" +msgstr "Legújabb gyermek kijelölése" msgid "Select Oldest Parent" -msgstr "" +msgstr "Legöregebb szülő kijelölése" -#, fuzzy msgid "Select Parent" -msgstr "Kiválaszt" +msgstr "Szülő kijelölése" msgid "Select Previous Version" -msgstr "" +msgstr "Előző verzió kijelölése" -#, fuzzy msgid "Select Repository..." -msgstr "Git repó" +msgstr "Tároló kijelölése…" msgid "Select a parent directory for the new clone" -msgstr "" +msgstr "Válasszon szülő mappát az új klón számára" -#, fuzzy msgid "Select manually..." -msgstr "Mindent kiválaszt" +msgstr "Kézi kijelölés…" -#, fuzzy msgid "Select output dir" -msgstr "Merge commit üzenet:" +msgstr "Kimeneti könyvtár kijelölése" -#, fuzzy msgid "Select output directory" -msgstr "Git repó" +msgstr "Kimeneti könyvtár kijelölése" -#, fuzzy msgid "Select patch file(s)..." -msgstr "Törlés..." +msgstr "Foltfájl(ok) kijelölése…" -#, fuzzy msgid "Select repository" -msgstr "Git repó" +msgstr "Tároló kijelölése" -#, fuzzy msgid "Set Default Repository" -msgstr "Git repó" +msgstr "Alapértelmezett tároló beállítása" -#, fuzzy msgid "Set Upstream Branch" -msgstr "Kiválaszt" +msgstr "Távoli tároló ág beállítása" msgid "" "Set the sort order for branches and tags.\n" "Toggle between date-based and version-name-based sorting." msgstr "" +"Az ágak és címkék rendezési sorrendjének beállítása.\n" +"Váltás a dátum alapú és a verziónév alapú rendezési sorrend között." -#, fuzzy msgid "Set upstream" -msgstr "Kiválaszt" +msgstr "Beállítás távoli tárolóként" -#, fuzzy msgid "Settings" -msgstr "Indítás..." +msgstr "Beállítások" msgid "Shell arguments" -msgstr "" +msgstr "Parancsértelmező argumentumai" msgid "Shift Down" -msgstr "" +msgstr "Mozgatás lefelé" msgid "Shift Up" -msgstr "" +msgstr "Mozgatás felfelé" msgid "Shortcuts" -msgstr "" +msgstr "Gyorsbillentyűk" -#, fuzzy msgid "Show Details..." -msgstr "Törlés..." +msgstr "Részletek megjelenítése…" msgid "Show Diffstat After Merge" -msgstr "Diffstat mutatása merge után" +msgstr "Diffstat megjelenítése a beolvasztás után" msgid "Show Full Paths in the Window Title" -msgstr "" +msgstr "Teljes útvonal megjelenítése az ablakok címsorában" -#, fuzzy msgid "Show Help" -msgstr "Segítség" +msgstr "Súgó megjelenítse" msgid "Show History" -msgstr "" +msgstr "Történet megjelenítése" msgid "Show file counts in Status titles" -msgstr "" +msgstr "Fájlok számának megjelentése az állapotcímekben" msgid "" "Show help\n" "Shortcut: ?" msgstr "" +"Súgó megjelenítése\n" +"Gyorsbillentyű: ?" msgid "Show icon? (if available)" -msgstr "" +msgstr "Megjeleníti az ikonokat (ha vannak)?" msgid "Show line numbers" -msgstr "" +msgstr "Sorok számának megjelenítése" msgid "Show whole surrounding functions of changes" -msgstr "" +msgstr "A módosításokat érintő funkciók teljes környezetének megjelenítése" -#, fuzzy msgid "Showing changes since" -msgstr "Változások pusholása ide: %s" +msgstr "Változások megjelenítése ekkortól:" msgid "Side by side" -msgstr "" +msgstr "Egymás mellett" msgid "Sign Off" -msgstr "Aláír" +msgstr "Aláírás" -#, fuzzy msgid "Sign Tag" -msgstr "Aláír" +msgstr "Címke aláírása" -#, fuzzy msgid "Sign off on this commit" -msgstr "Kiválasztva commitolásra" +msgstr "A véglegesítés aláírása" msgid "Simplified Chinese translation" -msgstr "" +msgstr "Egyszerűsített kínai fordítás" msgid "Skip" -msgstr "" +msgstr "Kihagyás" -#, fuzzy msgid "Skip Current Patch" -msgstr "Branch létrehozása" +msgstr "Jelenlegi folt kihagyása" msgid "Sort bookmarks alphabetically" -msgstr "" +msgstr "Könyvjelzők rendezése ábécésorrendben" msgid "Spanish translation" -msgstr "" +msgstr "Spanyol fordítás" msgid "Specifies the SHA-1 to tag" -msgstr "" +msgstr "Megadja a címke SHA-1 értékét" msgid "Specifies the tag message" -msgstr "" +msgstr "Megadja a címkeüzenetet" msgid "Specifies the tag name" -msgstr "" +msgstr "Megadja a címke nevét" -#, fuzzy msgid "Spelling Suggestions" -msgstr "Nincs javaslat" +msgstr "Helyesírási javaslatok" -#, fuzzy msgid "Squash" -msgstr "Push" +msgstr "Összevonás" msgid "Squash the merged commits into a single commit" -msgstr "" +msgstr "Az beolvasztott véglegesítések összevonása egyetlen véglegesítésbe" -#, fuzzy msgid "Stage" -msgstr "Mentés" +msgstr "Kiszemelés" -#, fuzzy msgid "Stage / Unstage" -msgstr "Változtatások kiválasztása" +msgstr "Kiszemelés/elengedés" msgid "Stage All Untracked" -msgstr "" +msgstr "Minden nem követett változás kiszemelése" msgid "Stage Changed Files To Commit" -msgstr "Módosított fájlok kiválasztása commitolásra" +msgstr "Módosított fájlok kiszemelése véglegesítésre" -#, fuzzy msgid "Stage Diff Hunk" -msgstr "A következő revíziótól" +msgstr "Összehasonlítási egység kiszemelése" msgid "Stage Modified" -msgstr "" +msgstr "Módosítottak kiszemelése" -#, fuzzy msgid "Stage Selected" -msgstr "Kiválaszt" +msgstr "Kijelöltek kiszemelése" -#, fuzzy msgid "Stage Selected Lines" -msgstr "Kiválasztatlan változtatások" +msgstr "Kijelölt sorok kiszemelése" -#, fuzzy msgid "Stage Unmerged" -msgstr "Változtatások kiválasztása" +msgstr "Nem beolvasztottak kiszemelése" -#, fuzzy msgid "Stage Untracked" -msgstr "Változtatások kiválasztása" +msgstr "Nem követett változások kiszemelése" -#, fuzzy msgid "Stage and Commit" -msgstr "Kiválasztás commitolásra" +msgstr "Kiszemelés és véglegesítés" -#, fuzzy msgid "Stage and commit?" -msgstr "Kiválasztva commitolásra" +msgstr "Kiszemeli és véglegesíti?" -#, fuzzy msgid "Stage conflicts" -msgstr "Kiválasztva commitolásra" +msgstr "Ütközések kiszemelése" -#, fuzzy msgid "Stage conflicts?" -msgstr "Kiválasztva commitolásra" +msgstr "Kiszemeli az ütközéseket?" -#, fuzzy msgid "Stage/unstage selected paths for commit" -msgstr "Kiválasztva commitolásra" +msgstr "A kijelölt útvonalak kijelölése/elengedése véglegesítésre" -#, fuzzy msgid "Staged" -msgstr "Változtatások kiválasztása" +msgstr "Kiszemelve" -#, fuzzy, python-format +#, python-format msgid "Staging: %s" -msgstr "Keresés itt: %s..." +msgstr "Kiszemelés: %s" msgid "Start Interactive Rebase..." -msgstr "" +msgstr "Interaktív újraalapozás indítása…" msgid "Starting Revision" msgstr "A következő revíziótól" msgid "Stash" -msgstr "" +msgstr "Félrerakás" -#, fuzzy msgid "Stash Index" -msgstr "Index hiba" +msgstr "Félrerakási jegyzék" -#, fuzzy msgid "Stash staged changes only" -msgstr "A változtatások commitolása..." +msgstr "Csak a kiszemelt módosítások félrerakása" -#, fuzzy msgid "Stash unstaged changes only, keeping staged changes" -msgstr "Visszaállítja a változtatásokat a(z) %s fájlban?" +msgstr "" +"Csak az elengedett módosítások félrerakása, a kiszemelt módosítások " +"megtartása" -#, fuzzy msgid "Stash..." -msgstr "Push..." +msgstr "Félrerakás…" msgid "Status" -msgstr "" +msgstr "Állapot" msgid "Stop tracking paths" -msgstr "" +msgstr "Útvonalak követésének leállítása" msgid "Submodules" -msgstr "" +msgstr "Almodulok" msgid "Summarize Merge Commits" -msgstr "A merge commitok összegzése" +msgstr "A beolvasztási véglegesítések összegzése" msgid "Summary" -msgstr "" +msgstr "Összegzés" msgid "Tab Width" -msgstr "" +msgstr "Tabulátorszélesség" msgid "Tag" -msgstr "Tag" +msgstr "Címke" -#, fuzzy msgid "Tag Created" -msgstr "Létrehozás" +msgstr "Címke létrehozva" msgid "Tag message..." -msgstr "" +msgstr "Címkeüzenet…" msgid "Tag-signing was requested but the tag message is empty." -msgstr "" +msgstr "Címkealáírás lett kérve, de a címkeüzenet üres." msgid "Tags" -msgstr "" +msgstr "Címkék" msgid "Text Width" -msgstr "" +msgstr "Szövegszélesség" msgid "The branch will be no longer available." -msgstr "" +msgstr "Az ág nem lesz többé elérhető." #, python-format msgid "The branch will be reset using \"git reset --hard %s\"" -msgstr "" +msgstr "Az ág visszaállítása ezzel a paranccsal: „git reset --hard %s”" #, python-format msgid "The branch will be reset using \"git reset --merge %s\"" -msgstr "" +msgstr "Az ág visszaállítása ezzel a paranccsal: „git reset --merge %s”" #, python-format msgid "The branch will be reset using \"git reset --mixed %s\"" -msgstr "" +msgstr "Az ág visszaállítása ezzel a paranccsal: „git reset --mixed %s”" #, python-format msgid "The branch will be reset using \"git reset --soft %s\"" -msgstr "" +msgstr "Az ág visszaállítása ezzel a paranccsal: „git reset --soft %s”" -#, fuzzy msgid "The commit message will be cleared." -msgstr "Commit üzenet szövegének szélessége" +msgstr "A véglegesítési üzenet meg lett tisztítva." #, python-format msgid "The file \"%s\" exists and will be overwritten." -msgstr "" +msgstr "A(z) „%s” fájl létezik és felül lesz írva." msgid "The following files will be deleted:" -msgstr "" +msgstr "A következő fájlok törölve lesznek:" -#, fuzzy msgid "The revision expression cannot be empty." -msgstr "A revízió kifejezés üres." +msgstr "A revíziókifejezés nem lehet üres." #, python-format msgid "" "The submodule will be updated using\n" "\"%s\"" msgstr "" +"Az almodul frissítve lesz ezzel:\n" +"„%s”" #, python-format msgid "The worktree will be reset using \"git reset --keep %s\"" -msgstr "" +msgstr "A munkafa visszaáll ezzel a paranccsal: „git reset --keep %s”" msgid "This cannot be undone. Clear commit message?" -msgstr "" +msgstr "Ez nem vonható vissza. Megtisztítja a véglegesítési üzenetet?" msgid "" "This commit has already been published.\n" "This operation will rewrite published history.\n" "You probably don't want to do this." msgstr "" +"A véglegesítés már közzé lett téve.\n" +"Ez a művelet felülírja a közzétett történetet.\n" +"Valószínűleg nem ezt akarja tenni." msgid "" "This operation drops uncommitted changes.\n" "These changes cannot be recovered." msgstr "" +"Ez a művelet kidobja a nem véglegesített módosításokat.\n" +"Ezek a módosítások nem állíthatók vissza." msgid "" "This operation removes uncommitted edits from selected files.\n" "These changes cannot be recovered." msgstr "" +"Ez a művelet eltávolítja a nem véglegesített szerkesztések a kijelölt " +"fájlokban.\n" +"Ezek a módosítások nem állíthatók vissza." msgid "" "This operation removes unstaged edits from selected files.\n" "These changes cannot be recovered." msgstr "" +"Ez a művelet eltávolítja az elengedett szerkesztéseket a kijelölt fájlokon.\n" +"Ezek a módosítások nem állíthatók vissza." msgid "" "This repository is currently being rebased.\n" "Resolve conflicts, commit changes, and run:\n" " Rebase > Continue" msgstr "" +"A tároló épp újraalapozás alatt áll.\n" +"Oldja fel az ütközéseket, véglegesítse a módosításokat és futtassa:\n" +" Újralapozás > Folytatás" msgid "" "This repository is in the middle of a merge.\n" "Resolve conflicts and commit changes." msgstr "" +"A tároló épp egy beolvasztás alatt áll.\n" +"Oldja fel az ütközéseket és véglegesítse a változásokat." msgid "Toggle Enabled" -msgstr "" +msgstr "Engedélyezés átváltása" msgid "Toggle the branches filter" -msgstr "" +msgstr "Elágazásszűrő átváltása" msgid "Toggle the paths filter" -msgstr "" +msgstr "Útvonalszűrő átváltása" msgid "Tracking Branch" -msgstr "Követő branch" +msgstr "Követett ág" -#, fuzzy msgid "Tracking branch" -msgstr "Követő branch" +msgstr "Követett ágak" msgid "Traditional Chinese (Taiwan) translation" -msgstr "" +msgstr "Tradicionális kínai (Tajvan) fordítás" msgid "Translators" -msgstr "" +msgstr "Fordítók" msgid "Turkish translation" -msgstr "" +msgstr "Török fordítás" msgid "URL" msgstr "URL" -#, fuzzy, python-format +#, python-format msgid "URL: %s" -msgstr "URL:" +msgstr "URL: %s" msgid "Ukranian translation" -msgstr "" +msgstr "Ukrán fordítás" -#, fuzzy msgid "Unable to rebase" -msgstr "Nem sikerült tiszítani: %s." +msgstr "Nem lehet újraalapozni" #, python-format msgid "Unable to set URL for \"%(name)s\" to \"%(url)s\"" -msgstr "" +msgstr "Nem állítható be URL a(z) „%(name)s” számára: „%(url)s”" msgid "Undo" msgstr "Visszavonás" -#, fuzzy msgid "Unmerged" -msgstr "Merge" +msgstr "Nem beolvasztottak" -#, fuzzy msgid "Unstage" -msgstr "Kiválasztatlan változtatások" +msgstr "Elengedés" msgid "Unstage All" -msgstr "" +msgstr "Összes elengedése" msgid "Unstage Diff Hunk" -msgstr "" +msgstr "Összehasonlítási egység elengedése" msgid "Unstage From Commit" -msgstr "Commitba való kiválasztás visszavonása" +msgstr "Elengedés a véglegesítésből" msgid "Unstage Selected" -msgstr "" +msgstr "Kijelöltek elengedése" -#, fuzzy msgid "Unstage Selected Lines" -msgstr "Kiválasztatlan változtatások" +msgstr "Kijelölt sorok elengedése" -#, fuzzy, python-format +#, python-format msgid "Unstaging: %s" -msgstr "A(z) %s commitba való kiválasztásának visszavonása" +msgstr "Elengedés: %s" msgid "Untrack Selected" -msgstr "" +msgstr "Kijelöltek követésének törlése" -#, fuzzy msgid "Untracked" -msgstr "Nem követett, nem kiválasztott" +msgstr "Nem követett" #, python-format msgid "Untracking: %s" -msgstr "" +msgstr "Követés törlése: %s" msgid "Update All Submodules..." -msgstr "" +msgstr "Összes almodul frissítése…" msgid "Update Existing Branch:" -msgstr "Létező branch frissítése" +msgstr "Létező ág frissítése:" -#, fuzzy msgid "Update Submodule" -msgstr "Frissítve" +msgstr "Almodul frissítése" msgid "Update Submodule..." -msgstr "" +msgstr "Almodul frissítése…" msgid "Update Submodules" -msgstr "" +msgstr "Almodulok frissítése" msgid "Update all submodules?" -msgstr "" +msgstr "Frissíti az összes almodult?" msgid "Update submodules..." -msgstr "" +msgstr "Almodulok frissítése…" msgid "Update this submodule" -msgstr "" +msgstr "Ezen almodul frissítése" msgid "Update this submodule?" -msgstr "" +msgstr "Frissíti ezt az almodult?" -#, fuzzy msgid "Updating" -msgstr "Indítás..." +msgstr "Frissítés" msgid "User Name" msgstr "Felhasználónév" -#, fuzzy msgid "Version" -msgstr "Revízió" +msgstr "Verzió" msgid "View" -msgstr "" +msgstr "Nézet" msgid "View History..." -msgstr "" +msgstr "Történet megjelenítése…" -#, fuzzy msgid "View history for selected paths" -msgstr "Visszaállítja a változtatásokat a(z) %s fájlban?" +msgstr "A kijelölt útvonal történetének megjelenítése" msgid "Visualize" msgstr "Vizualizálás" -#, fuzzy msgid "Visualize All Branches..." -msgstr "Az összes branch történetének vizualizálása" +msgstr "Összes ág vizualizálása…" -#, fuzzy msgid "Visualize Current Branch..." -msgstr "A jelenlegi branch történetének vizualizálása" +msgstr "Jelenlegi ág vizualizálása…" msgid "Whether to sign the tag (git tag -s)" -msgstr "" +msgstr "Aláírásra kerüljön-e a címke (git tag -s)" msgid "Would you like to stage and commit all modified files?" -msgstr "" +msgstr "Valóban kiszemeli és véglegesíti az összes módosított fájlt?" msgid "XOR" -msgstr "" +msgstr "Logikai kizáró vagy" msgid "Yes" -msgstr "" +msgstr "Igen" msgid "" "You are in the middle of a merge.\n" "Cannot amend while merging." msgstr "" +"Egy beolvasztás közepén van.\n" +"Nem lehet javítani beolvasztás közben." -#, fuzzy msgid "You cannot rebase with uncommitted changes." -msgstr "Változtatások visszaállítása" +msgstr "Nem lehet újraalapozni nem véglegesített módosításokkal." msgid "You must specify a revision to merge." -msgstr "" +msgstr "Meg kell adni egy revíziót a beolvasztáshoz." msgid "You must specify a revision to view." -msgstr "" +msgstr "Meg kell adni egy revíziót a megjelenítéshez." msgid "Zoom In" -msgstr "" +msgstr "Nagyítás" msgid "Zoom Out" -msgstr "" +msgstr "Kicsinyítés" msgid "Zoom to Fit" -msgstr "" +msgstr "Nagyítás, hogy elférjen" msgid "command-line arguments" -msgstr "" +msgstr "parancssori argumentumok" msgid "error: unable to execute git" -msgstr "" +msgstr "hiba: a git nem hajtható végre" -#, fuzzy, python-format +#, python-format msgid "exit code %s" -msgstr "a(z) %s letöltése" +msgstr "%s kilépési kód" #, python-format -msgid "fatal: \"%s\" is not a directory. Please specify a correct --repo ." +msgid "" +"fatal: \"%s\" is not a directory. Please specify a correct --repo ." msgstr "" +"végzetes: „%s” nem könyvtár. Adjon meg egy helyes útvonalat: --repo ." #, python-format msgid "git cola version %s" -msgstr "" +msgstr "git cola %s verzió" msgid "git-cola" -msgstr "" +msgstr "git-cola" msgid "git-cola diff" -msgstr "" +msgstr "git-cola diff" msgid "grep result..." -msgstr "" +msgstr "grep eredmény…" msgid "hotkeys.html" -msgstr "" +msgstr "hotkeys.html" msgid "unknown" -msgstr "" +msgstr "ismeretlen" msgid "vX.Y.Z" -msgstr "" +msgstr "vX.Y.Z" msgid "x 1" -msgstr "" +msgstr "×1" msgid "x 1.5" -msgstr "" +msgstr "×1,5" msgid "x 2" -msgstr "" +msgstr "×2" msgid "yyyy-MM-dd" -msgstr "" - -#~ msgid "" -#~ "\n" -#~ "\n" -#~ "A good replacement for %s\n" -#~ "is placing values for the user.name and\n" -#~ "user.email settings into your personal\n" -#~ "~/.gitconfig file.\n" -#~ msgstr "" -#~ "\n" -#~ "\n" -#~ "Egy jó helyettesítés a(z) %s számára\n" -#~ "a user.name és user.email beállítások\n" -#~ "elhelyezése a személyes\n" -#~ "~/.gitconfig fájlba.\n" - -#~ msgid "" -#~ "\n" -#~ "This is due to a known issue with the\n" -#~ "Tcl binary distributed by Cygwin." -#~ msgstr "" -#~ "\n" -#~ "Ez a Cygwin által terjesztett Tcl binárisban\n" -#~ "lévő ismert hiba miatt van." - -#~ msgid "%s ... %*i of %*i %s (%3i%%)" -#~ msgstr "%s ... %*i / %*i %s (%3i%%)" - -#~ msgid "%s Repository" -#~ msgstr "%s Repó" - -#~ msgid "%s of %s" -#~ msgstr "%s / %s" - -#~ msgid "'%s' is not an acceptable branch name." -#~ msgstr "A(z) '%s' nem egy elfogadható branch név." - -#~ msgid "* Binary file (not showing content)." -#~ msgstr "* Bináris fájl (tartalom elrejtése)." - -#~ msgid "A branch is required for 'Merged Into'." -#~ msgstr "Egy branch szükséges a 'Merge-ölt a következőbe'-hez." - -#~ msgid "" -#~ "Abort commit?\n" -#~ "\n" -#~ "Aborting the current commit will cause *ALL* uncommitted changes to be lost.\n" -#~ "\n" -#~ "Continue with aborting the current commit?" -#~ msgstr "" -#~ "Megszakítjuk a commitot?\n" -#~ "\n" -#~ "A jelenlegi commit megszakítása *MINDEN* nem commitolt változtatás elvesztését jelenti.\n" -#~ "\n" -#~ "Folytatjuk a jelenlegi commit megszakítását?" - -#~ msgid "Abort completed. Ready." -#~ msgstr "A megkeszakítás befejeződött. Kész." - -#~ msgid "Abort failed." -#~ msgstr "A félbeszakítás nem sikerült." - -#~ msgid "Aborted checkout of '%s' (file level merging is required)." -#~ msgstr "A(z) '%s' checkoutja megszakítva (fájlszintű merge-ölés szükséges)." - -#~ msgid "Aborting... please wait..." -#~ msgstr "Megszakítás... várjunk..." - -#~ msgid "Add Existing" -#~ msgstr "Létező hozzáadása" - -#~ msgid "Add Existing To Commit" -#~ msgstr "Hozzáadás létező commithoz" - -#~ msgid "Add To Commit" -#~ msgstr "Hozzáadás a commithoz" - -#~ msgid "Always (Do not perform merge checks)" -#~ msgstr "Mindig (Ne végezzen merge vizsgálatokat)" - -#~ msgid "Always (Do not perform merge test.)" -#~ msgstr "Mindig (Ne legyen merge teszt.)" - -#~ msgid "Amended Commit Message:" -#~ msgstr "Javító commit üzenet:" - -#~ msgid "Amended Initial Commit Message:" -#~ msgstr "Kezdeti javító commit üzenet:" - -#~ msgid "Amended Merge Commit Message:" -#~ msgstr "Javító merge commit üzenet:" - -#~ msgid "Annotation complete." -#~ msgstr "Az annotáció kész." - -#~ msgid "Any unstaged changes will be permanently lost by the revert." -#~ msgstr "Minden nem kiválasztott változtatás el fog veszni ezáltal a visszaállítás által." - -#~ msgid "Apply/Reverse Hunk" -#~ msgstr "Hunk alkalmazása/visszaállítása" - -#~ msgid "Arbitrary URL:" -#~ msgstr "Tetszőleges URL:" - -#~ msgid "" -#~ "Branch '%s' already exists.\n" -#~ "\n" -#~ "It cannot fast-forward to %s.\n" -#~ "A merge is required." -#~ msgstr "" -#~ "A(z) '%s' branch már létezik.\n" -#~ "\n" -#~ "Nem lehet fast-forwardolni a következőhöz: %s.\n" -#~ "Egy merge szükséges." - -#~ msgid "Branch '%s' does not exist." -#~ msgstr "A(z) '%s' branch nem létezik." - -#, fuzzy -#~ msgid "Branch created" -#~ msgstr "Branch neve" - -#~ msgid "Browse %s's Files" -#~ msgstr "A(z) %s branch fájljainak böngészése" - -#~ msgid "Browse Branch Files" -#~ msgstr "A branch fájljainak böngészése" - -#, fuzzy -#~ msgid "Browse Revision..." -#~ msgstr "Revízió" - -#~ msgid "Calling commit-msg hook..." -#~ msgstr "A commit-msg hurok meghívása..." - -#~ msgid "" -#~ "Cannot abort while amending.\n" -#~ "\n" -#~ "You must finish amending this commit.\n" -#~ msgstr "" -#~ "A commit javítás közben megszakítva.\n" -#~ "\n" -#~ "Be kell fejeznünk ennek a commitnak a javítását.\n" - -#~ msgid "" -#~ "Cannot amend while merging.\n" -#~ "\n" -#~ "You are currently in the middle of a merge that has not been fully completed. You cannot amend the prior commit unless you first abort the current merge activity.\n" -#~ msgstr "" -#~ "Nem lehet javítani merge alatt.\n" -#~ "\n" -#~ "A jelenlegi merge még nem teljesen fejeződött be. Csak akkor javíthat egy előbbi commitot, hogyha megszakítja a jelenlegi merge folyamatot.\n" - -#~ msgid "Cannot determine HEAD. See console output for details." -#~ msgstr "Nem sikerült megállapítani a HEAD-et. Bővebben a konzolos kimenetben." - -#~ msgid "Cannot fetch branches and objects. See console output for details." -#~ msgstr "Nem sikerült letölteni a branch-eket és az objektumokat. Bővebben a konzolos kimenetben." - -#~ msgid "Cannot fetch tags. See console output for details." -#~ msgstr "Nem sikerült letölteni a tageket. Bővebben a konzolos kimenetben." - -#~ msgid "Cannot find git in PATH." -#~ msgstr "A git nem található a PATH-ban." - -#~ msgid "Cannot find the git directory:" -#~ msgstr "Nem található a git könyvtár:" - -#~ msgid "" -#~ "Cannot merge while amending.\n" -#~ "\n" -#~ "You must finish amending this commit before starting any type of merge.\n" -#~ msgstr "" -#~ "Javítás közben nem lehetséges a merge.\n" -#~ "\n" -#~ "Egyszer be kell fejezni ennek a commitnak a javítását, majd kezdődhet egy merge.\n" - -#~ msgid "Cannot move to top of working directory:" -#~ msgstr "Nem lehet a munkakönyvtár tetejére lépni:" - -#~ msgid "Cannot parse Git version string:" -#~ msgstr "Nem értelmezhető a Git verzió sztring:" - -#~ msgid "Cannot resolve %s as a commit." -#~ msgstr "Nem sikerült felöldani a(z) %s objektumot commitként." - -#~ msgid "Cannot use funny .git directory:" -#~ msgstr "Nem használható vicces .git könyvtár:" - -#~ msgid "Cannot write shortcut:" -#~ msgstr "Nem sikerült írni a gyorsbillentyűt:" - -#~ msgid "Change Font" -#~ msgstr "Betűtípus megváltoztatása" - -#~ msgid "Checked out '%s'." -#~ msgstr "'%s' kifejtve." - -#~ msgid "Clone Type:" -#~ msgstr "Másolás típusa:" - -#~ msgid "Clone failed." -#~ msgstr "A másolás nem sikerült." - -#~ msgid "Cloning from %s" -#~ msgstr "Másolás innen: %s" - -#~ msgid "Commit %s appears to be corrupt" -#~ msgstr "A(z) %s commit sérültnek tűnik" - -#~ msgid "Commit declined by commit-msg hook." -#~ msgstr "A commiot megakadályozta a commit-msg hurok." - -#~ msgid "Commit declined by pre-commit hook." -#~ msgstr "A commitot megakadályozta a pre-commit hurok. " - -#, fuzzy -#~ msgid "Commit failed: %s" -#~ msgstr "A commit nem sikerült." - -#~ msgid "Commit@@noun" -#~ msgstr "Commit@@főnév" - -#~ msgid "Compress Database" -#~ msgstr "Adatbázis tömörítése" - -#~ msgid "Compressing the object database" -#~ msgstr "Az objektum adatbázis tömörítése" - -#~ msgid "Copied Or Moved Here By:" -#~ msgstr "Ide másolta vagy helyezte:" - -#~ msgid "Copying objects" -#~ msgstr "Objektumok másolása" - -#~ msgid "Counting objects" -#~ msgstr "Objektumok számolása" - -#~ msgid "Create Desktop Icon" -#~ msgstr "Asztal ikon létrehozása" - -#, fuzzy -#~ msgid "Created commit: %s" -#~ msgstr "Létrejött a %s commit: %s" - -#~ msgid "Creating working directory" -#~ msgstr "Munkakönyvtár létrehozása" - -#~ msgid "Current Branch:" -#~ msgstr "Jelenlegi branch:" - -#~ msgid "Database Statistics" -#~ msgstr "Adatbázis statisztikák" - -#~ msgid "Decrease Font Size" -#~ msgstr "Font méret csökkentése" - -#~ msgid "Delete Local Branch" -#~ msgstr "Helyi branch törlése" - -#~ msgid "Delete Only If" -#~ msgstr "Törlés csak akkor ha" - -#~ msgid "Delete Only If Merged Into" -#~ msgstr "Csak már merge-ölt törlése" - -#~ msgid "Destination Repository" -#~ msgstr "Cél repó" - -#~ msgid "Detach From Local Branch" -#~ msgstr "Helyi branch leválasztása" - -#~ msgid "Diff/Console Font" -#~ msgstr "Diff/konzol betűtípus" - -#~ msgid "Directory %s already exists." -#~ msgstr "A(z) '%s' könyvtár már létezik." - -#~ msgid "Disk space used by loose objects" -#~ msgstr "Elveszett objektumok által elfoglalt lemezterület" - -#~ msgid "Disk space used by packed objects" -#~ msgstr "A csomagolt objektumok által használt lemezterület" - -#~ msgid "Do Nothing" -#~ msgstr "Ne csináljunk semmit" - -#, fuzzy -#~ msgid "Enter Git Repository" -#~ msgstr "Git repó" - -#, fuzzy -#~ msgid "Error %s" -#~ msgstr "hiba" - -#~ msgid "Error loading commit data for amend:" -#~ msgstr "Hiba a javítandó commit adat betöltése közben:" - -#~ msgid "Error: Command Failed" -#~ msgstr "Hiba: a parancs sikertelen" - -#~ msgid "Failed to completely save options:" -#~ msgstr "Nem sikerült teljesen elmenteni a beállításokat:" - -#~ msgid "Failed to configure origin" -#~ msgstr "Nem sikerült beállítani az origint" - -#~ msgid "Failed to create repository %s:" -#~ msgstr "Nem sikerült letrehozni a(z) %s repót:" - -#~ msgid "" -#~ "Failed to delete branches:\n" -#~ "%s" -#~ msgstr "" -#~ "Nem sikerült törölni a következő brancheket:\n" -#~ "%s" - -#~ msgid "Failed to open repository %s:" -#~ msgstr "Nem sikerült megnyitni a(z) %s repót:" - -#~ msgid "Failed to rename '%s'." -#~ msgstr "Nem sikerült átnevezni: '%s'." - -#~ msgid "" -#~ "Failed to set current branch.\n" -#~ "\n" -#~ "This working directory is only partially switched. We successfully updated your files, but failed to update an internal Git file.\n" -#~ "\n" -#~ "This should not have occurred. %s will now close and give up." -#~ msgstr "" -#~ "Nem sikerült beállítani a jelenlegi branchet.\n" -#~ "\n" -#~ "A munkakönyvtár csak részben váltott át. A fájlok sikeresen frissítve lettek, de nem sikerült frissíteni egy belső Git fájlt.\n" -#~ "\n" -#~ "Ennek nem szabad megtörténnie. A(z) %s most kilép és feladja." - -#~ msgid "Failed to stage selected hunk." -#~ msgstr "Nem sikerült kiválasztani a hunkot." - -#~ msgid "Failed to unstage selected hunk." -#~ msgstr "Nem visszavonni a hunk kiválasztását." - -#~ msgid "Failed to update '%s'." -#~ msgstr "Nem sikerült frissíteni a következőt: '%s'." - -#, fuzzy -#~ msgid "Fast Forward Only " -#~ msgstr "Csak fast forward" - -# tcl-format -#~ msgid "Fetch from" -#~ msgstr "Letöltés innen" - -#~ msgid "Fetching new changes from %s" -#~ msgstr "Új változások letöltése innen: %s" - -#~ msgid "File level merge required." -#~ msgstr "Fájlszintű merge-ölés szükséges." - -#~ msgid "Font Example" -#~ msgstr "Font példa" - -#~ msgid "Font Family" -#~ msgstr "Font család" - -#~ msgid "Force overwrite existing branch (may discard changes)" -#~ msgstr "Létező branch felülírásának erőltetése (lehet, hogy el fog dobni változtatásokat)" - -#~ msgid "From Repository" -#~ msgstr "Forrás repó" - -#~ msgid "Full Copy (Slower, Redundant Backup)" -#~ msgstr "Teljes másolás (Lassabb, redundáns biztonsági mentés)" - -#~ msgid "Garbage files" -#~ msgstr "Hulladék fájlok" - -#~ msgid "Git Gui" -#~ msgstr "Git Gui" - -#~ msgid "Git Repository (subproject)" -#~ msgstr "Git repó (alprojekt)" - -#~ msgid "Git directory not found:" -#~ msgstr "A Git könyvtár nem található:" - -#~ msgid "" -#~ "Git version cannot be determined.\n" -#~ "\n" -#~ "%s claims it is version '%s'.\n" -#~ "\n" -#~ "%s requires at least Git 1.5.0 or later.\n" -#~ "\n" -#~ "Assume '%s' is version 1.5.0?\n" -#~ msgstr "" -#~ "Nem állípítható meg a Git verziója.\n" -#~ "\n" -#~ "A(z) %s szerint a verzió '%s'.\n" -#~ "\n" -#~ "A(z) %s a Git 1.5.0 vagy későbbi verzióját igényli.\n" -#~ "\n" -#~ "Feltételezhetjük, hogy a(z) '%s' verziója legalább 1.5.0?\n" - -#~ msgid "Hardlinks are unavailable. Falling back to copying." -#~ msgstr "Nem érhetőek el hardlinkek. Másolás használata." - -#~ msgid "In File:" -#~ msgstr "Ebben a fájlban:" - -#~ msgid "Increase Font Size" -#~ msgstr "Fönt méret növelése" - -#~ msgid "Initial Commit Message:" -#~ msgstr "Kezdeti commit üzenet:" - -#~ msgid "Initial file checkout failed." -#~ msgstr "A kezdeti fájl-kibontás sikertelen." - -#~ msgid "Invalid GIT_COMMITTER_IDENT:" -#~ msgstr "Érvénytelen GIT_COMMITTER_IDENT:" - -#~ msgid "Invalid date from Git: %s" -#~ msgstr "Érvénytelen dátum a Git-től: %s" - -#~ msgid "Invalid font specified in %s:" -#~ msgstr "Érvénytelen font lett megadva itt: %s:" - -#~ msgid "Invalid spell checking configuration" -#~ msgstr "Érvénytelen a helyesírás-ellenőrző beállítása" - -#~ msgid "KiB" -#~ msgstr "KiB" - -#~ msgid "" -#~ "Last scanned state does not match repository state.\n" -#~ "\n" -#~ "Another Git program has modified this repository since the last scan. A rescan must be performed before a merge can be performed.\n" -#~ "\n" -#~ "The rescan will be automatically started now.\n" -#~ msgstr "" -#~ "Az utolsó keresési állapot nem egyezik meg a repó állapotával.\n" -#~ "\n" -#~ "Egy másik Git program módosította ezt a repót az utolsó keresés óta. Egy újrakeresés mindenképpen szükséges mielőtt a jelenlegi branchet módosítani lehetne.\n" -#~ "\n" -#~ "Az újrakeresés most automatikusan el fog indulni.\n" - -#~ msgid "" -#~ "Last scanned state does not match repository state.\n" -#~ "\n" -#~ "Another Git program has modified this repository since the last scan. A rescan must be performed before another commit can be created.\n" -#~ "\n" -#~ "The rescan will be automatically started now.\n" -#~ msgstr "" -#~ "Az utolsó keresési állapot nem egyezik meg a repó állapotával.\n" -#~ "\n" -#~ "Egy másik Git program módosította ezt a repót az utolsó keresés óta. Egy újrakeresés mindenképpen szükséges mielőtt a jelenlegi branchet módosítani lehetne.\n" -#~ "\n" -#~ "Az újrakeresés most automatikusan el fog indulni.\n" - -#~ msgid "" -#~ "Last scanned state does not match repository state.\n" -#~ "\n" -#~ "Another Git program has modified this repository since the last scan. A rescan must be performed before the current branch can be changed.\n" -#~ "\n" -#~ "The rescan will be automatically started now.\n" -#~ msgstr "" -#~ "Az utolsó keresési állapot nem egyezik meg a repó állpotával.\n" -#~ "\n" -#~ "Egy másik Git program módosította ezt a repót az utolsó keresés óta. Egy újrakeresés mindenképpen szükséges mielőtt a jelenlegi branchet módosítani lehetne.\n" -#~ "\n" -#~ "Az újrakeresés most automatikusan el fog indulni.\n" - -#~ msgid "Linking objects" -#~ msgstr "Objektumok összefűzése" - -#~ msgid "Loading annotation..." -#~ msgstr "Az annotáció betöltése..." - -#~ msgid "Loading copy/move tracking annotations..." -#~ msgstr "A másolást/átnevezést követő annotációk betöltése..." - -#~ msgid "Loading original location annotations..." -#~ msgstr "Az eredeti hely annotációk betöltése..." - -#~ msgid "Local Branches" -#~ msgstr "Helyi branchek" - -#~ msgid "Local Merge..." -#~ msgstr "Helyi merge..." - -#~ msgid "Location %s already exists." -#~ msgstr "A(z) '%s' hely már létezik." - -#~ msgid "Main Font" -#~ msgstr "Fő betűtípus" - -#~ msgid "Match Tracking Branch Name" -#~ msgstr "Egyeztetendő követési branch név" - -#~ msgid "Match Tracking Branches" -#~ msgstr "A követő branchek egyeztetése" - -#~ msgid "Merge completed successfully." -#~ msgstr "A merge sikeresen befejeződött." - -#~ msgid "Merge strategy '%s' not supported." -#~ msgstr "A(z) '%s' merge strategy nem támogatott." - -#~ msgid "Merged Into:" -#~ msgstr "Merge-ölt a következőbe:" - -#~ msgid "Merging %s and %s..." -#~ msgstr "A(z) %s és a(z) %s merge-ölése..." - -#~ msgid "Modified, not staged" -#~ msgstr "Módosított, de nem kiválasztott" - -#~ msgid "New Branch Name Template" -#~ msgstr "Új branch név sablon" - -#~ msgid "New Commit" -#~ msgstr "Új commit" - -#~ msgid "New Name:" -#~ msgstr "Új név:" - -#~ msgid "" -#~ "No changes to commit.\n" -#~ "\n" -#~ "No files were modified by this commit and it was not a merge commit.\n" -#~ "\n" -#~ "A rescan will be automatically started now.\n" -#~ msgstr "" -#~ "Nincs commitolandó változtatás.\n" -#~ "\n" -#~ "Egyetlen fájlt se módosított ez a commit és merge commit se volt.\n" -#~ "\n" -#~ "Az újrakeresés most automatikusan el fog indulni.\n" - -#~ msgid "No default branch obtained." -#~ msgstr "Nincs alapértelmezett branch." - -#~ msgid "" -#~ "No differences detected.\n" -#~ "\n" -#~ "%s has no changes.\n" -#~ "\n" -#~ "The modification date of this file was updated by another application, but the content within the file was not changed.\n" -#~ "\n" -#~ "A rescan will be automatically started to find other files which may have the same state." -#~ msgstr "" -#~ "Nincsenek változások.\n" -#~ "\n" -#~ "A(z) %s módosítatlan.\n" -#~ "\n" -#~ "A fájl módosítási dátumát frissítette egy másik alkalmazás, de a fájl tartalma változatlan.\n" -#~ "\n" -#~ "Egy újrakeresés fog indulni a hasonló állapotú fájlok megtalálása érdekében." - -#~ msgid "No working directory" -#~ msgstr "Nincs munkakönyvtár" - -#~ msgid "Not connected to aspell" -#~ msgstr "Nincs kapcsolat az aspellhez" - -#~ msgid "Number of loose objects" -#~ msgstr "Elvesztett objektumok száma" - -#~ msgid "Number of packed objects" -#~ msgstr "Csomagolt objektumok számra" - -#~ msgid "Number of packs" -#~ msgstr "Csomagok száma" - -#~ msgid "One or more of the merge tests failed because you have not fetched the necessary commits. Try fetching from %s first." -#~ msgstr "Egy vagy több merge teszt hibát jelzett, mivel nem töltöttük le a megfelelő commitokat. Próbáljunk meg letölteni a következőből: %s először." - -#~ msgid "Options" -#~ msgstr "Opciók" - -#~ msgid "Original File:" -#~ msgstr "Eredeti fájl:" - -#~ msgid "Originally By:" -#~ msgstr "Eredeti szerző:" - -#~ msgid "Packed objects waiting for pruning" -#~ msgstr "Eltávolításra váró csomagolt objektumok számra" - -#, fuzzy -#~ msgid "Path to git repository" -#~ msgstr "Nem Git repó: %s" - -#~ msgid "Please select one or more branches to delete." -#~ msgstr "Válasszunk ki egy vagy több branchet törlésre." - -#~ msgid "Please supply a branch name." -#~ msgstr "Adjunk megy egy branch nevet." - -#~ msgid "Portions staged for commit" -#~ msgstr "Részek kiválasztva commitolásra" - -#~ msgid "" -#~ "Possible environment issues exist.\n" -#~ "\n" -#~ "The following environment variables are probably\n" -#~ "going to be ignored by any Git subprocess run\n" -#~ "by %s:\n" -#~ "\n" -#~ msgstr "" -#~ "Lehetséges, hogy környezeti problémák vannak.\n" -#~ "\n" -#~ "A következő környezeti változók valószínűleg\n" -#~ "figyelmen kívül lesznek hagyva a(z) %s által\n" -#~ "indított folyamatok által:\n" -#~ "\n" - -#~ msgid "Preferences..." -#~ msgstr "Beállítások..." - -#~ msgid "Prune Tracking Branches During Fetch" -#~ msgstr "A követő branchek eltávolítása letöltés alatt" - -#~ msgid "Pruning tracking branches deleted from %s" -#~ msgstr "A %s repóból törölt követő branchek törlése" - -#~ msgid "Push Branches" -#~ msgstr "Branchek pusholása" - -#~ msgid "Push to" -#~ msgstr "Push ide" - -#~ msgid "Pushing %s %s to %s" -#~ msgstr "Pusholás: %s %s, ide: %s" - -#~ msgid "Reading %s..." -#~ msgstr "A(z) %s olvasása..." - -#~ msgid "Ready to commit." -#~ msgstr "Commitolásra kész." - -#~ msgid "Ready." -#~ msgstr "Kész." - -#, fuzzy -#~ msgid "Rebase Branch" -#~ msgstr "Branch átnevezése" - -#, fuzzy -#~ msgid "Rebase..." -#~ msgstr "Visszaállítás..." - -#~ msgid "" -#~ "Recovering deleted branches is difficult.\n" -#~ "\n" -#~ "Delete the selected branches?" -#~ msgstr "" -#~ "A törölt branchek visszaállítása nehéz.\n" -#~ "\n" -#~ "Töröljük a kiválasztott brancheket?" - -#~ msgid "" -#~ "Recovering deleted branches is difficult. \n" -#~ "\n" -#~ " Delete the selected branches?" -#~ msgstr "" -#~ "A törölt branchek visszaállítása bonyolult. \n" -#~ "\n" -#~ " Biztosan törli a kiválasztott brancheket?" - -#~ msgid "Refreshing file status..." -#~ msgstr "A fájlok státuszának frissítése..." - -#, fuzzy -#~ msgid "Remote Branches" -#~ msgstr "Branch átnevezése" - -#~ msgid "Remote:" -#~ msgstr "Távoli:" - -#, fuzzy -#~ msgid "Rename remote?" -#~ msgstr "Távoli" - -#~ msgid "Repository" -#~ msgstr "Repó" - -#~ msgid "Requires merge resolution" -#~ msgstr "Merge feloldás szükséges" - -#~ msgid "Rescan" -#~ msgstr "Keresés újra" - -#~ msgid "" -#~ "Reset changes?\n" -#~ "\n" -#~ "Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" -#~ "\n" -#~ "Continue with resetting the current changes?" -#~ msgstr "" -#~ "Visszavonjuk a módosításokat?\n" -#~ "\n" -#~ "A módosítások visszavonása *MINDEN* nem commitolt változtatás elvesztését jelenti.\n" -#~ "\n" -#~ "Folytatjuk a jelenlegi módosítások visszavonását?" - -#~ msgid "Revert changes in these %i files?" -#~ msgstr "Visszaállítja a változtatásokat ebben e %i fájlban?" - -#~ msgid "Running miga..." -#~ msgstr "A miga futtatása..." - -#, fuzzy -#~ msgid "Select File" -#~ msgstr "Mindent kiválaszt" - -#, fuzzy -#~ msgid "Select file from \"%s\"" -#~ msgstr "Brancek törlése innen: %s" - -#~ msgid "Shared (Fastest, Not Recommended, No Backup)" -#~ msgstr "Megosztott (Leggyorsabb, nem ajánlott, nincs mentés)" - -#~ msgid "Shared only available for local repository." -#~ msgstr "A megosztott csak helyi repókra érhető el." - -#~ msgid "Show Less Context" -#~ msgstr "Kevesebb környezet mutatása" - -#~ msgid "Show More Context" -#~ msgstr "Több környezet mutatása" - -#~ msgid "Source Branches" -#~ msgstr "Forrás branchek" - -#~ msgid "Spell Checker Failed" -#~ msgstr "A helyesírás-ellenőrzés sikertelen" - -#~ msgid "Spell checker silently failed on startup" -#~ msgstr "A helyesírás-ellenőrő indítása sikertelen" - -#~ msgid "Spell checking is unavailable" -#~ msgstr "A helyesírás-ellenőrzés nem elérhető" - -#~ msgid "Spelling Dictionary:" -#~ msgstr "Helyesírás-ellenőrző szótár:" - -#~ msgid "Stage Hunk For Commit" -#~ msgstr "Hunk kiválasztása commitba" - -#~ msgid "Staged Changes (Will Commit)" -#~ msgstr "Kiválasztott változtatások (commitolva lesz)" - -#~ msgid "Staged for commit, missing" -#~ msgstr "Kiválasztva commitolásra, hiányzó" - -#~ msgid "Staged for removal" -#~ msgstr "Kiválasztva eltávolításra" - -#~ msgid "Staged for removal, still present" -#~ msgstr "Kiválasztva eltávolításra, jelenleg is elérhető" - -#, fuzzy -#~ msgid "Staging Area" -#~ msgstr "Keresés itt: %s..." - -#~ msgid "Staging area (index) is already locked." -#~ msgstr "A kiválasztási terület (index) már zárolva van." - -#~ msgid "Standard (Fast, Semi-Redundant, Hardlinks)" -#~ msgstr "Általános (Gyors, félig-redundáns, hardlinkek)" - -#~ msgid "Standard only available for local repository." -#~ msgstr "A standard csak helyi repókra érhető el." - -#~ msgid "Starting gitk... please wait..." -#~ msgstr "A gitk indítása... várjunk..." - -#~ msgid "Staying on branch '%s'." -#~ msgstr "Jelenleg a(z) '%s' branchen." - -#~ msgid "Success" -#~ msgstr "Siker" - -#~ msgid "The 'master' branch has not been initialized." -#~ msgstr "A 'master' branch nincs inicializálva." - -#~ msgid "The following branches are not completely merged into %s:" -#~ msgstr "A következő branchek nem teljesen lettek merge-ölve ebbe: %s:" - -#~ msgid "" -#~ "The following branches are not completely merged into %s:\n" -#~ "\n" -#~ " - %s" -#~ msgstr "" -#~ "A következő branchek nem teljesen lettek merge-ölve ebbe: %s:\n" -#~ " - %s" - -#~ msgid "" -#~ "There is nothing to amend.\n" -#~ "\n" -#~ "You are about to create the initial commit. There is no commit before this to amend.\n" -#~ msgstr "" -#~ "Nincs semmi javítanivaló.\n" -#~ "\n" -#~ "Az első commit létrehozása előtt nincs semmilyen commit amit javitani lehetne.\n" - -#~ msgid "This Detached Checkout" -#~ msgstr "Ez a leválasztott checkout" - -#~ msgid "" -#~ "This is example text.\n" -#~ "If you like this text, it can be your font." -#~ msgstr "" -#~ "Ez egy példa szöveg.\n" -#~ "Ha ez megfelel, ez lehet a betűtípus." - -#~ msgid "" -#~ "This repository currently has approximately %i loose objects.\n" -#~ "\n" -#~ "To maintain optimal performance it is strongly recommended that you compress the database when more than %i loose objects exist.\n" -#~ "\n" -#~ "Compress the database now?" -#~ msgstr "" -#~ "Ennek a repónak jelenleg %i különálló objektuma van.\n" -#~ "\n" -#~ "Az optimális teljesítményhez erősen ajánlott az adatbázis tömörítése, ha több mint %i objektum létezik.\n" -#~ "\n" -#~ "Lehet most tömöríteni az adatbázist?" - -#~ msgid "Tracking branch %s is not a branch in the remote repository." -#~ msgstr "A(z) %s követő branch nem branch a távoli repóban." - -#~ msgid "Transfer Options" -#~ msgstr "Átviteli opciók" - -#~ msgid "Unable to copy object: %s" -#~ msgstr "Nem sikerült másolni az objektumot: %s" - -#~ msgid "Unable to copy objects/info/alternates: %s" -#~ msgstr "Nem sikerült másolni az objects/info/alternates-t: %s" - -#~ msgid "Unable to display %s" -#~ msgstr "Nem lehet megjeleníteni a következőt: %s" - -#~ msgid "Unable to hardlink object: %s" -#~ msgstr "Nem sikerült hardlinkelni az objektumot: %s" - -#~ msgid "Unable to obtain your identity:" -#~ msgstr "Nem sikerült megállapítani az azonosítót:" - -#~ msgid "" -#~ "Unable to start gitk:\n" -#~ "\n" -#~ "%s does not exist" -#~ msgstr "" -#~ "A gitk indítása sikertelen:\n" -#~ "\n" -#~ "A(z) %s nem létezik" - -#~ msgid "Unable to unlock the index." -#~ msgstr "Nem sikerült az index zárolásának feloldása." - -#~ msgid "Unexpected EOF from spell checker" -#~ msgstr "Nem várt EOF a helyesírás-ellenőrzőtől" - -#~ msgid "" -#~ "Unknown file state %s detected.\n" -#~ "\n" -#~ "File %s cannot be committed by this program.\n" -#~ msgstr "" -#~ "Ismeretlen fájl típus %s érzékelve.\n" -#~ "\n" -#~ "A(z) %s fájlt nem tudja ez a program commitolni.\n" - -#~ msgid "Unlock Index" -#~ msgstr "Index zárolásának feloldása" - -#~ msgid "" -#~ "Unmerged files cannot be committed.\n" -#~ "\n" -#~ "File %s has merge conflicts. You must resolve them and stage the file before committing.\n" -#~ msgstr "" -#~ "Nem commitolhatunk fájlokat merge előtt.\n" -#~ "\n" -#~ "A(z) %s fájlban ütközések vannak. Egyszer azokat ki kell javítani, majd hozzá ki kell választani a fájlt mielőtt commitolni lehetne.\n" - -#~ msgid "Unrecognized spell checker" -#~ msgstr "Ismeretlen helyesírás-ellenőrző" - -#~ msgid "Unstage Hunk From Commit" -#~ msgstr "Hunk törlése commitból" - -#~ msgid "Unstaged Changes (Will Not Be Committed)" -#~ msgstr "Nem kiválasztott változtatások (nem lesz commitolva)" - -#~ msgid "Unsupported spell checker" -#~ msgstr "Nem támogatott helyesírás-ellenőrző" - -#~ msgid "Updating the Git index failed. A rescan will be automatically started to resynchronize git-gui." -#~ msgstr "A Git index frissítése sikertelen volt. Egy újraolvasás automatikusan elindult, hogy a git-gui újra szinkonban legyen." - -#~ msgid "Updating working directory to '%s'..." -#~ msgstr "A munkkönyvtár frissiítése a következőre: '%s'..." - -#, fuzzy -#~ msgid "Updating..." -#~ msgstr "Indítás..." - -#~ msgid "Use thin pack (for slow network connections)" -#~ msgstr "Vékony csomagok használata (lassú hálózati kapcsolatok számára)" - -#~ msgid "Verify Database" -#~ msgstr "Adatbázis ellenőrzése" - -#~ msgid "Verifying the object database with fsck-objects" -#~ msgstr "Az objektum adatbázis ellenőrzése az fsck-objects használatával" - -#~ msgid "Visualize %s's History" -#~ msgstr "A(z) %s branch történetének vizualizálása" - -#~ msgid "Working... please wait..." -#~ msgstr "Munka folyamatban.. Várjunk..." - -#~ msgid "" -#~ "You are in the middle of a change.\n" -#~ "\n" -#~ "File %s is modified.\n" -#~ "\n" -#~ "You should complete the current commit before starting a merge. Doing so will help you abort a failed merge, should the need arise.\n" -#~ msgstr "" -#~ "Jelenleg egy változtatás közben vagyunk.\n" -#~ "\n" -#~ "A(z) %s fájl megváltozott.\n" -#~ "\n" -#~ "Először be kell fejeznünk a jelenlegi commitot, hogy elkezdhessünk egy merge-t. Ez segíteni fog, hogy félbeszakíthassunk egy merge-t.\n" - -#~ msgid "" -#~ "You are in the middle of a conflicted merge.\n" -#~ "\n" -#~ "File %s has merge conflicts.\n" -#~ "\n" -#~ "You must resolve them, stage the file, and commit to complete the current merge. Only then can you begin another merge.\n" -#~ msgstr "" -#~ "Jelenleg egy ütközés feloldása közben vagyunk.\n" -#~ "\n" -#~ "A(z) %s fájlban ütközések vannak.\n" -#~ "\n" -#~ "Fel kell oldanunk őket, kiválasztani a fájlt, és commitolni hogy befejezzük a jelenlegi merge-t. Csak ezután kezdhetünk el egy újabbat.\n" - -#~ msgid "" -#~ "You are no longer on a local branch.\n" -#~ "\n" -#~ "If you wanted to be on a branch, create one now starting from 'This Detached Checkout'." -#~ msgstr "" -#~ "Már nem egy helyi branchen vagyunk.\n" -#~ "\n" -#~ "Ha egy branchen szeretnénk lenni, hozzunk létre egyet az 'Ez a leválasztott checkout'-ból." - -#~ msgid "You must correct the above errors before committing." -#~ msgstr "Ki kell javítanunk a fenti hibákat commit előtt." - -#~ msgid "[Up To Parent]" -#~ msgstr "[Fel a szülőhöz]" - -#~ msgid "buckets" -#~ msgstr "vödrök" - -#~ msgid "commit-tree failed:" -#~ msgstr "a commit-tree sikertelen:" - -#~ msgid "fatal: Cannot resolve %s" -#~ msgstr "végzetes: Nem lehet feloldani a következőt: %s" - -#~ msgid "files" -#~ msgstr "fájl" - -#~ msgid "files checked out" -#~ msgstr "fájl frissítve" - -#~ msgid "files reset" -#~ msgstr "fájl visszaállítva" - -#~ msgid "git-gui - a graphical user interface for Git." -#~ msgstr "git-gui - egy grafikus felület a Githez." - -#~ msgid "git-gui: fatal error" -#~ msgstr "git-gui: végzetes hiba" - -#~ msgid "lines annotated" -#~ msgstr "sor annotálva" - -#~ msgid "objects" -#~ msgstr "objektum" - -#~ msgid "pt." -#~ msgstr "pt." - -#~ msgid "push %s" -#~ msgstr "%s push-olása" - -#~ msgid "remote prune %s" -#~ msgstr "a(z) %s távoli törlése" - -#~ msgid "update-ref failed:" -#~ msgstr "az update-ref sikertelen:" - -#~ msgid "warning" -#~ msgstr "figyelmeztetés" - -#~ msgid "warning: Tcl does not support encoding '%s'." -#~ msgstr "figyelmeztetés: a Tcl nem támogatja a(z) '%s' kódolást." - -#~ msgid "write-tree failed:" -#~ msgstr "a write-tree sikertelen:" +msgstr "yyyy-MM-dd" diff -Nru git-cola-3.5/po/tr_TR.po git-cola-3.6/po/tr_TR.po --- git-cola-3.5/po/tr_TR.po 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/po/tr_TR.po 2019-11-27 08:36:53.000000000 +0000 @@ -3,36 +3,33 @@ # This file is distributed under the same license as the git-cola package. # # Barış ÇELİK , 2015. +# Sabri ÜNAL , 2019 +# Adil GÜRBÜZ , 2019 # msgid "" msgstr "" "Project-Id-Version: git-cola\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-17 01:06-0700\n" -"PO-Revision-Date: 2017-12-05 10:28+0300\n" -"Last-Translator: Barış ÇELİK \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2019-11-15 10:20+0300\n" +"Last-Translator: Adil GÜRBÜZ \n" "Language-Team: Turkish\n" "Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.3\n" +"X-Generator: Poedit 2.1.7\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgid "" "\n" "

\n" -" Drag and drop or use the Add button to add\n" +" Drag and drop or use the Add button to " +"add\n" " patches to the list\n" "

\n" " " msgstr "" -"\n" -"

\n" -" Drag and drop or use the Add button to add\n" -" patches to the list\n" -"

\n" -" " #, python-format msgid "" @@ -53,7 +50,8 @@ "\n" "
\n" "

\n" -" We invite you to participate in translation by adding or updating\n" +" We invite you to participate in translation by adding or " +"updating\n" " a translation and opening a pull request.\n" "

\n" "\n" @@ -138,7 +136,6 @@ "ctrl+d = launch difftool\n" msgstr "" -#, fuzzy msgid "" "\n" "Keyboard Shortcuts\n" @@ -153,24 +150,12 @@ "The up and down arrows change focus between the text entry field\n" "and the results.\n" msgstr "" -"\n" -"Keyboard Shortcuts\n" -"------------------\n" -"J, Down = Move Down\n" -"K, Up = Move Up\n" -"Enter = Edit Selected Files\n" -"Spacebar = Open File Using Default Application\n" -"Ctrl+L = Focus Text Entry Field\n" -"? = Show Help\n" -"\n" -"The up and down arrows change focus between the text entry field\n" -"and the results.\n" msgid " - DAG" -msgstr " - DAG" +msgstr "" msgid " commits ago" -msgstr " commits ago" +msgstr "" #, python-format msgid "\"%(branch)s\" has been deleted from \"%(remote)s\"." @@ -178,34 +163,34 @@ #, python-format msgid "\"%(command)s\" returned exit status \"%(status)d\"" -msgstr "\"%(command)s\" returned exit status \"%(status)d\"" +msgstr "" #, python-format msgid "\"%(command)s\" returned exit status %(status)d" msgstr "\"%(command)s\" çıkış durumu döndürdü %(status)d" -#, fuzzy, python-format +#, python-format msgid "\"%s\" already exists" -msgstr "Branch \"%s\" already exists." +msgstr "" #, python-format msgid "\"%s\" already exists, cola will create a new directory" -msgstr "\"%s\" already exists, cola will create a new directory" +msgstr "" #, python-format msgid "\"%s\" requires a selected file." -msgstr "\"%s\" requires a selected file." +msgstr "" msgid "#" msgstr "" #, python-format msgid "%(project)s: %(branch)s - Browse" -msgstr "%(project)s: %(branch)s - Browse" +msgstr "" #, python-format msgid "%(project)s: %(ref)s - DAG" -msgstr "%(project)s: %(ref)s - DAG" +msgstr "" #, python-format msgid "%d days ago" @@ -225,7 +210,7 @@ #, python-format msgid "%d skipped" -msgstr "%d skipped" +msgstr "%d geçildi" #, python-format msgid "" @@ -234,14 +219,10 @@ "You should probably skip this file.\n" "Stage it anyways?" msgstr "" -"%s appears to contain merge conflicts.\n" -"\n" -"You should probably skip this file.\n" -"Stage it anyways?" #, python-format msgid "%s is not a Git repository." -msgstr "%s is not a Git repository." +msgstr "" #, python-format msgid "%s will be removed from your bookmarks." @@ -256,19 +237,19 @@ msgstr "%s: Böyle bir dosya ya da dizin yok." msgid "&Edit" -msgstr "&Edit" +msgstr "" msgid "&File" msgstr "Dosya" msgid "(Amending)" -msgstr "(Amending)" +msgstr "" msgid "*** Branch Point ***" -msgstr "*** Branch Point ***" +msgstr "" msgid "*** Sandbox ***" -msgstr "*** Sandbox ***" +msgstr "" msgid "100%" msgstr "" @@ -289,7 +270,7 @@ msgstr "" msgid " ..." -msgstr " ..." +msgstr "" msgid "" "A commit template has not been configured.\n" @@ -306,75 +287,69 @@ #, python-format msgid "A stash named \"%s\" already exists" -msgstr "A stash named \"%s\" already exists" +msgstr "" msgid "Abort" -msgstr "Abort" +msgstr "" msgid "Abort Action" -msgstr "Abort Action" +msgstr "" msgid "Abort Merge" -msgstr "Abort Merge" +msgstr "" msgid "Abort Merge..." -msgstr "Abort Merge..." +msgstr "" msgid "Abort the action?" -msgstr "Abort the action?" +msgstr "" msgid "" -"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be " +"lost.\n" "Recovering uncommitted changes is not possible." msgstr "" -"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" -"Recovering uncommitted changes is not possible." msgid "Aborting the current merge?" -msgstr "Aborting the current merge?" +msgstr "" msgid "About" msgstr "Hakkında" msgid "About git-cola" -msgstr "About git-cola" +msgstr "" msgid "Accept" msgstr "" -#, fuzzy msgid "" "Accept changes and rebase\n" "Shortcut: Ctrl+Enter" msgstr "" -"Commit staged changes\n" -"Shortcut: Ctrl+Enter" -#, fuzzy msgid "Action Name" -msgstr "İşlemler" +msgstr "Aksiyon Adı" msgid "Actions" msgstr "İşlemler" msgid "Actions..." -msgstr "Actions..." +msgstr "İşlemler..." msgid "Add" -msgstr "Add" +msgstr "Ekle" -#, fuzzy msgid "Add Favorite" -msgstr "Favoriler" +msgstr "" msgid "Add Remote" -msgstr "Add Remote" +msgstr "" msgid "Add Separator" -msgstr "" +msgstr "Ayraç Ekle" msgid "Add Toolbar" -msgstr "" +msgstr "Araç Çubuğu Ekle" msgid "" "Add and remove remote repositories using the \n" @@ -383,36 +358,30 @@ "Remotes can be renamed by selecting one from the list\n" "and pressing \"enter\", or by double-clicking." msgstr "" -"Add and remove remote repositories using the \n" -"Add(+) and Delete(-) buttons on the left-hand side.\n" -"\n" -"Remotes can be renamed by selecting one from the list\n" -"and pressing \"enter\", or by double-clicking." msgid "Add new remote git repository" -msgstr "Add new remote git repository" +msgstr "Yeni uzak git deposu ekle" msgid "Add patches (+)" -msgstr "Add patches (+)" +msgstr "" msgid "Add remote" -msgstr "Add remote" +msgstr "" msgid "Add to .gitignore" -msgstr "Add to .gitignore" +msgstr "" -#, fuzzy msgid "Add to Git Annex" -msgstr "Add to .gitignore" +msgstr "" msgid "Add to Git LFS" msgstr "" msgid "Additions" -msgstr "Additions" +msgstr "" msgid "Advanced" -msgstr "Advanced" +msgstr "" msgid "Age" msgstr "Yaş" @@ -426,128 +395,120 @@ "\"%s\"" msgstr "" -msgid "Allow non-fast-forward updates. Using \"force\" can cause the remote repository to lose commits; use it with care" +msgid "" +"Allow non-fast-forward updates. Using \"force\" can cause the remote " +"repository to lose commits; use it with care" msgstr "" -msgid "Always create a merge commit when enabled, even when the merge is a fast-forward update" -msgstr "Always create a merge commit when enabled, even when the merge is a fast-forward update" +msgid "" +"Always create a merge commit when enabled, even when the merge is a fast-" +"forward update" +msgstr "" msgid "Amend" msgstr "" msgid "Amend Commit" -msgstr "Amend Commit" +msgstr "" msgid "Amend Last Commit" -msgstr "Amend Last Commit" +msgstr "" msgid "Amend the published commit?" -msgstr "Amend the published commit?" +msgstr "" msgid "Amending" -msgstr "Amending" +msgstr "" msgid "" "An action is still running.\n" "Terminating it could result in data loss." msgstr "" -"An action is still running.\n" -"Terminating it could result in data loss." msgid "" "An unsigned, lightweight tag will be created instead.\n" "Create an unsigned tag?" msgstr "" -"An unsigned, lightweight tag will be created instead.\n" -"Create an unsigned tag?" msgid "Appearance" msgstr "" msgid "Apply" -msgstr "Apply" +msgstr "Uygula" msgid "Apply Patches" -msgstr "Apply Patches" +msgstr "" msgid "Apply Patches..." msgstr "Düzeltmeleri Uygula..." -#, fuzzy msgid "Apply and drop the selected stash (git stash pop)" -msgstr "Apply the selected stash" +msgstr "" msgid "Apply the selected stash" -msgstr "Apply the selected stash" +msgstr "" msgid "Arguments" -msgstr "Arguments" +msgstr "Argümanlar" msgid "Attach" -msgstr "Attach" +msgstr "" msgid "Author" -msgstr "Author" +msgstr "Yazar" -#, fuzzy msgid "Authors" -msgstr "Author" +msgstr "Yazarlar" msgid "Auto" -msgstr "" +msgstr "Otamatik" msgid "Auto-Wrap Lines" -msgstr "Auto-Wrap Lines" +msgstr "" msgid "Basic Regexp" -msgstr "Basic Regexp" +msgstr "" -#, fuzzy msgid "Blame Viewer" -msgstr "Branch Diff Viewer" +msgstr "" -#, fuzzy msgid "Blame selected paths" -msgstr "Edit selected paths" +msgstr "" -#, fuzzy msgid "Blame..." -msgstr "Close..." +msgstr "" msgid "Bold on dark headers instead of italic" msgstr "" msgid "Branch" -msgstr "Branch" +msgstr "Dal" #, python-format msgid "" "Branch \"%(branch)s\" does not exist in \"%(remote)s\".\n" "A new remote branch will be published." msgstr "" -"Branch \"%(branch)s\" does not exist in \"%(remote)s\".\n" -"A new remote branch will be published." #, python-format msgid "Branch \"%s\" already exists." -msgstr "Branch \"%s\" already exists." +msgstr "" msgid "Branch Diff Viewer" -msgstr "Branch Diff Viewer" +msgstr "" msgid "Branch Exists" -msgstr "Branch Exists" +msgstr "" msgid "Branch Name" -msgstr "Branch Name" +msgstr "Dal Adı" #, python-format msgid "Branch: %s" -msgstr "Branch: %s" +msgstr "Dal: %s" -#, fuzzy msgid "Branches" -msgstr "Branch" +msgstr "Dallar" msgid "Branches..." msgstr "Dallar..." @@ -559,169 +520,159 @@ msgstr "Gözat" msgid "Browse Commits..." -msgstr "Browse Commits..." +msgstr "İşlemelere Gözat..." msgid "Browse Current Branch..." -msgstr "Browse Current Branch..." +msgstr "Geçerli Dala Gözat..." msgid "Browse Other Branch..." -msgstr "Browse Other Branch..." +msgstr "Diğer Dala Gözat..." msgid "Browse..." -msgstr "Browse..." +msgstr "Gözat..." msgid "Browser" msgstr "Görüntüleyici" #, python-format msgid "Browsing %s" -msgstr "Browsing %s" +msgstr "" msgid "Bypass Commit Hooks" -msgstr "Bypass Commit Hooks" +msgstr "" msgid "Cancel" -msgstr "Cancel" +msgstr "İptal" -#, fuzzy msgid "" "Cancel rebase\n" "Shortcut: Ctrl+Q" msgstr "" -"Commit staged changes\n" -"Shortcut: Ctrl+Enter" msgid "Cannot Amend" msgstr "" -#, fuzzy, python-format +#, python-format msgid "Cannot exec \"%s\": please configure a blame viewer" -msgstr "Çalıştırılamayan sorgu \"%s\": lütfen editörü ayarlayın" +msgstr "" #, python-format msgid "Cannot exec \"%s\": please configure a history browser" -msgstr "Cannot exec \"%s\": please configure a history browser" +msgstr "" #, python-format msgid "Cannot exec \"%s\": please configure your editor" msgstr "Çalıştırılamayan sorgu \"%s\": lütfen editörü ayarlayın" msgid "Changed Upstream" -msgstr "Changed Upstream" +msgstr "" msgid "Check Spelling" -msgstr "Check Spelling" +msgstr "" -#, fuzzy msgid "Check spelling" -msgstr "Check Spelling" +msgstr "" msgid "Checkout" -msgstr "Checkout" +msgstr "" msgid "Checkout After Creation" -msgstr "Checkout After Creation" +msgstr "" msgid "Checkout Branch" -msgstr "Checkout Branch" +msgstr "" -#, fuzzy msgid "Checkout Detached HEAD" -msgstr "Checkout Branch" +msgstr "" -#, fuzzy msgid "Checkout as new branch" -msgstr "Checkout Branch" +msgstr "" msgid "Checkout..." -msgstr "Checkout..." +msgstr "" msgid "Cherry Pick" -msgstr "Cherry Pick" +msgstr "" msgid "Cherry-Pick Commit" -msgstr "Cherry-Pick Commit" +msgstr "" msgid "Cherry-Pick..." -msgstr "Cherry-Pick..." +msgstr "" msgid "Choose Paths" -msgstr "Choose Paths" +msgstr "" msgid "Choose the \"git grep\" regular expression mode" -msgstr "Choose the \"git grep\" regular expression mode" +msgstr "" -#, fuzzy msgid "Clear Default Repository" -msgstr "Güncel Depo" +msgstr "Varsayılan Depoyu Temizle" msgid "Clear commit message" -msgstr "Clear commit message" +msgstr "" msgid "Clear commit message?" -msgstr "Clear commit message?" +msgstr "" msgid "Clear..." -msgstr "Clear..." +msgstr "Temizle..." -#, fuzzy msgid "Clone" -msgstr "Clone..." +msgstr "" msgid "Clone Repository" -msgstr "Clone Repository" +msgstr "" msgid "Clone..." -msgstr "Clone..." +msgstr "" #, python-format msgid "Cloning repository at %s" -msgstr "Cloning repository at %s" +msgstr "" msgid "Close" -msgstr "Close" +msgstr "Kapat" msgid "Close..." -msgstr "Close..." +msgstr "Kapat..." msgid "Collapse all" -msgstr "Collapse all" +msgstr "" -#, fuzzy msgid "Command" -msgstr "Commit" +msgstr "Komut" msgid "Commit" -msgstr "Commit" +msgstr "" msgid "Commit failed" -msgstr "Commit failed" +msgstr "" msgid "Commit staged changes" -msgstr "Commit staged changes" +msgstr "" msgid "" "Commit staged changes\n" "Shortcut: Ctrl+Enter" msgstr "" -"Commit staged changes\n" -"Shortcut: Ctrl+Enter" msgid "Commit summary" -msgstr "Commit summary" +msgstr "" -msgid "Commit the merge if there are no conflicts. Uncheck to leave the merge uncommitted" -msgstr "Commit the merge if there are no conflicts. Uncheck to leave the merge uncommitted" +msgid "" +"Commit the merge if there are no conflicts. Uncheck to leave the merge " +"uncommitted" +msgstr "" msgid "Commit@@verb" -msgstr "Commit@@verb" +msgstr "" msgid "Compare" -msgstr "Compare" +msgstr "" -#, fuzzy msgid "Compare All" -msgstr "Compare" +msgstr "" msgid "Configure the remote branch as the the new upstream" msgstr "" @@ -730,21 +681,19 @@ msgstr "" msgid "Console" -msgstr "Konsol" +msgstr "Uçbirim" msgid "Continue" -msgstr "Continue" +msgstr "Devam et" msgid "Copy" -msgstr "Copy" +msgstr "Kopyala" -#, fuzzy msgid "Copy Basename to Clipboard" -msgstr "Yolu Panoya Kopyala" +msgstr "Ana Adı Panoya Kopyala" -#, fuzzy msgid "Copy Leading Path to Clipboard" -msgstr "Sabit Yolu Panoya Kopyala" +msgstr "" msgid "Copy Path to Clipboard" msgstr "Yolu Panoya Kopyala" @@ -755,48 +704,46 @@ msgid "Copy SHA-1" msgstr "Copy SHA-1" -#, fuzzy msgid "Copy..." -msgstr "Copy" +msgstr "Kopyala..." #, python-format msgid "Could not parse Git URL: \"%s\"" -msgstr "Could not parse Git URL: \"%s\"" +msgstr "" msgid "Create Branch" -msgstr "Create Branch" +msgstr "Dal Oluştur" msgid "Create Patch" -msgstr "Create Patch" +msgstr "Yol Oluştur" msgid "Create Remote Branch" -msgstr "Create Remote Branch" +msgstr "Uzak Dal Oluştur" msgid "Create Signed Commit" -msgstr "Create Signed Commit" +msgstr "" msgid "Create Tag" -msgstr "Create Tag" +msgstr "Etiket Oluştur" msgid "Create Tag..." msgstr "Etiket Oluştur..." msgid "Create Unsigned Tag" -msgstr "Create Unsigned Tag" +msgstr "" -#, fuzzy msgid "Create a merge commit even when the merge resolves as a fast-forward" -msgstr "Always create a merge commit when enabled, even when the merge is a fast-forward update" +msgstr "" msgid "Create a new remote branch?" -msgstr "Create a new remote branch?" +msgstr "" msgid "Create..." msgstr "Oluştur..." #, python-format msgid "Created a new tag named \"%s\"" -msgstr "Created a new tag named \"%s\"" +msgstr "" msgid "Current Repository" msgstr "Güncel Depo" @@ -804,27 +751,26 @@ msgid "Custom Copy Actions" msgstr "" -#, fuzzy msgid "Customize..." -msgstr "Close..." +msgstr "" msgid "Cut" -msgstr "" +msgstr "Kes" msgid "Czech translation" msgstr "" msgid "DAG..." -msgstr "DAG..." +msgstr "" msgid "Dark Theme" -msgstr "" +msgstr "Koyu Tema" msgid "Date, Time" -msgstr "Date, Time" +msgstr "Tarih, Saat" msgid "Default" -msgstr "" +msgstr "Varsayılan" msgid "Delete" msgstr "Sil" @@ -840,7 +786,7 @@ msgstr "İşareti Sil?" msgid "Delete Branch" -msgstr "Delete Branch" +msgstr "Dalı Sil" msgid "Delete Files" msgstr "Dosyaları Sil" @@ -852,16 +798,16 @@ msgstr "Dosyaları Sil?" msgid "Delete Remote" -msgstr "Karşıdakini Sil" +msgstr "Uzaktakini Sil" msgid "Delete Remote Branch" -msgstr "Delete Remote Branch" +msgstr "" msgid "Delete Remote Branch..." -msgstr "Uzaktaki Daldan Sil..." +msgstr "Uzaktaki Dalı Sil..." msgid "Delete remote" -msgstr "Delete remote" +msgstr "" #, python-format msgid "Delete remote \"%s\"" @@ -870,13 +816,11 @@ msgid "Delete remote?" msgstr "Uzaktakini sil?" -#, fuzzy msgid "Delete selected branch?" -msgstr "Delete Remote Branch" +msgstr "" -#, fuzzy msgid "Delete toolbar" -msgstr "İşareti Sil" +msgstr "Araç çubuğunu sil" msgid "Delete..." msgstr "Sil..." @@ -886,79 +830,77 @@ msgstr "\"%s\" silme işlemi başarısız" msgid "Deletions" -msgstr "Deletions" +msgstr "" msgid "Detach" -msgstr "Detach" +msgstr "" msgid "Detect Conflict Markers" -msgstr "Detect Conflict Markers" +msgstr "" msgid "Detect conflict markers in unmerged files" -msgstr "Detect conflict markers in unmerged files" +msgstr "" msgid "Developer" -msgstr "" +msgstr "Geliştirici" msgid "Diff" -msgstr "Diff" +msgstr "" msgid "Diff Against Predecessor..." -msgstr "Diff Against Predecessor..." +msgstr "" msgid "Diff Options" -msgstr "Diff Options" +msgstr "" msgid "Diff Tool" msgstr "Karşılaştırma Aracı" msgid "Diff selected -> this" -msgstr "Diff selected -> this" +msgstr "" msgid "Diff this -> selected" -msgstr "Diff this -> selected" +msgstr "" msgid "Diffstat" -msgstr "Diffstat" +msgstr "" -#, fuzzy msgid "Difftool" msgstr "Karşılaştırma Aracı" msgid "Directory Exists" -msgstr "Directory Exists" +msgstr "" msgid "Display Untracked Files" -msgstr "Display Untracked Files" +msgstr "" msgid "Documentation" -msgstr "Dökümantasyon" +msgstr "Belgelendirme" msgid "Drop" -msgstr "Drop" +msgstr "" msgid "Drop Stash" -msgstr "Drop Stash" +msgstr "" msgid "Drop Stash?" -msgstr "Drop Stash?" +msgstr "" #, python-format msgid "Drop the \"%s\" stash?" -msgstr "Drop the \"%s\" stash?" +msgstr "" msgid "Drop the selected stash" -msgstr "Drop the selected stash" +msgstr "" -#, fuzzy msgid "Edit" -msgstr "&Edit" +msgstr "Düzenle" msgid "Edit Rebase" msgstr "Konumlandırmayı Düzenle" msgid "Edit Remotes" -msgstr "Edit Remotes" +msgstr "Uzaktakini Düzenle" msgid "Edit Remotes..." msgstr "Uzaktakini Düzenle..." @@ -967,16 +909,16 @@ msgstr "" msgid "Edit selected paths" -msgstr "Edit selected paths" +msgstr "" msgid "Edit..." -msgstr "Edit..." +msgstr "Düzenle..." msgid "Editor" -msgstr "Editor" +msgstr "Düzenleyici" msgid "Email Address" -msgstr "Email Address" +msgstr "E-Posta Adresi" msgid "Email contributor" msgstr "" @@ -984,28 +926,26 @@ msgid "Enabled" msgstr "" -#, fuzzy msgid "Enter New Branch Name" -msgstr "Enter Branch New Name" +msgstr "Yeni Dal Adı Gir" -#, fuzzy msgid "Enter a name for the new bare repo" -msgstr "Enter a name for the stash" +msgstr "" msgid "Enter a name for the stash" -msgstr "Enter a name for the stash" +msgstr "" msgid "Error" msgstr "Hata" msgid "Error Cloning" -msgstr "Error Cloning" +msgstr "" msgid "Error Creating Branch" -msgstr "Error Creating Branch" +msgstr "Hata Dalı Oluştur" msgid "Error Creating Repository" -msgstr "Error Creating Repository" +msgstr "Hata Deposu Oluştur" msgid "Error Deleting Remote Branch" msgstr "Uzak Dal Silinirken Hata" @@ -1013,45 +953,42 @@ msgid "Error Editing File" msgstr "Dosyayı Düzenlemede Hata" -#, fuzzy msgid "Error Launching Blame Viewer" -msgstr "Error Launching History Browser" +msgstr "" msgid "Error Launching History Browser" -msgstr "Error Launching History Browser" +msgstr "" #, python-format msgid "Error creating remote \"%s\"" msgstr "Uzak \"%s\" oluşturulurken hata" -#, fuzzy msgid "Error creating stash" -msgstr "Error Creating Branch" +msgstr "" #, python-format msgid "Error deleting remote \"%s\"" msgstr "Uzaktaki silinirken hata \"%s\"" -#, fuzzy, python-format +#, python-format msgid "Error renaming \"%(name)s\" to \"%(new_name)s\"" -msgstr "Tagging \"%(revision)s\" as \"%(name)s\"" +msgstr "" msgid "Error running prepare-commitmsg hook" msgstr "" -#, fuzzy, python-format +#, python-format msgid "Error updating submodule %s" -msgstr "Uzak \"%s\" oluşturulurken hata" +msgstr "" -#, fuzzy msgid "Error updating submodules" -msgstr "Dosyayı Düzenlemede Hata" +msgstr "" msgid "Error: Cannot find commit template" msgstr "Hata: İşleme şablonu bulunamadı" msgid "Error: Stash exists" -msgstr "Error: Stash exists" +msgstr "" msgid "Error: Unconfigured commit template" msgstr "Hata: Ayarlanmamış işleme şablonu" @@ -1062,17 +999,17 @@ #, python-format msgid "Error: could not create tag \"%s\"" -msgstr "Error: could not create tag \"%s\"" +msgstr "" #, python-format msgid "Executing action %s" msgstr "" msgid "Expand all" -msgstr "Expand all" +msgstr "" msgid "Export Patches" -msgstr "Export Patches" +msgstr "Düzeltmeleri Dışa Aktar" msgid "Export Patches..." msgstr "Düzeltmeleri Dışa Aktar..." @@ -1081,185 +1018,186 @@ msgstr "İfade..." msgid "Extended Regexp" -msgstr "Extended Regexp" +msgstr "" msgid "Extended description..." -msgstr "Extended description..." +msgstr "" msgid "Fast Forward Only" -msgstr "Fast Forward Only" +msgstr "" -#, fuzzy msgid "Fast-forward only" -msgstr "Fast Forward Only" +msgstr "" msgid "Favorite repositories" -msgstr "Favorite repositories" +msgstr "Favori depolar" msgid "Favorites" msgstr "Favoriler" msgid "Fetch" -msgstr "Fetch" +msgstr "" msgid "Fetch Tracking Branch" -msgstr "Fetch Tracking Branch" +msgstr "" msgid "Fetch..." -msgstr "Fetch..." +msgstr "" msgid "File Browser..." -msgstr "File Browser..." +msgstr "" msgid "File Differences" -msgstr "File Differences" +msgstr "" msgid "File Saved" -msgstr "File Saved" +msgstr "Dosya Kaydedildi" #, python-format msgid "File saved to \"%s\"" -msgstr "File saved to \"%s\"" +msgstr "\"%s\" dosyası kaydedildi" -#, fuzzy -msgid "File system change monitoring: disabled because \"cola.inotify\" is false.\n" -msgstr "inotify is disabled because \"cola.inotify\" is false\n" +msgid "" +"File system change monitoring: disabled because \"cola.inotify\" is false.\n" +msgstr "" -msgid "File system change monitoring: disabled because libc does not support the inotify system calls.\n" +msgid "" +"File system change monitoring: disabled because libc does not support the " +"inotify system calls.\n" msgstr "" -msgid "File system change monitoring: disabled because pywin32 is not installed.\n" +msgid "" +"File system change monitoring: disabled because pywin32 is not installed.\n" msgstr "" msgid "" -"File system change monitoring: disabled because the limit on the total number of inotify watches was reached. You may be able to increase the limit on the number of watches by running:\n" +"File system change monitoring: disabled because the limit on the total " +"number of inotify watches was reached. You may be able to increase the " +"limit on the number of watches by running:\n" "\n" -" echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p\n" +" echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf " +"&& sudo sysctl -p\n" msgstr "" -#, fuzzy msgid "File system change monitoring: enabled.\n" -msgstr "File notification enabled.\n" +msgstr "" msgid "Filename" -msgstr "Filename" +msgstr "Dosya adı" msgid "Files" -msgstr "Files" +msgstr "Dosyalar" -#, fuzzy msgid "Filter branches..." -msgstr "Filter paths..." +msgstr "" msgid "Filter paths..." -msgstr "Filter paths..." +msgstr "" msgid "Find Files" msgstr "Dosyaları Bul" msgid "Fixed String" -msgstr "Fixed String" +msgstr "" msgid "Fixed-Width Font" -msgstr "Fixed-Width Font" +msgstr "" msgid "Fixup" msgstr "" msgid "Fixup Previous Commit" -msgstr "Fixup Previous Commit" +msgstr "" msgid "Flat dark blue" -msgstr "" +msgstr "Düz koyu mavi" msgid "Flat dark green" -msgstr "" +msgstr "Düz koyu yeşil" msgid "Flat dark grey" -msgstr "" +msgstr "Düz koyu gri" msgid "Flat dark red" -msgstr "" +msgstr "Düz koyu kırmızı" msgid "Flat light blue" -msgstr "" +msgstr "Düz açık mavi" msgid "Flat light green" -msgstr "" +msgstr "Düz açık yeşil" msgid "Flat light grey" -msgstr "" +msgstr "Düz açık gri" msgid "Flat light red" -msgstr "" +msgstr "Düz açık kırmızı" msgid "Font Size" -msgstr "Font Size" +msgstr "Yazı Tipi Boyutu" -#, fuzzy msgid "Force" -msgstr "Force Push" +msgstr "" msgid "Force Fetch" -msgstr "Force Fetch" +msgstr "" msgid "Force Fetch?" -msgstr "Force Fetch?" +msgstr "" msgid "Force Push" -msgstr "Force Push" +msgstr "" msgid "Force Push?" -msgstr "Force Push?" +msgstr "" #, python-format msgid "Force fetching from %s?" -msgstr "Force fetching from %s?" +msgstr "" #, python-format msgid "Force push to %s?" -msgstr "Force push to %s?" +msgstr "" -#, fuzzy msgid "Format String" -msgstr "Fixed String" +msgstr "" msgid "French translation" msgstr "" msgid "GPG-sign the merge commit" -msgstr "GPG-sign the merge commit" +msgstr "" msgid "GUI theme" -msgstr "" +msgstr "Arayüz teması" #, python-format msgid "Gathering info for \"%s\"..." -msgstr "Gathering info for \"%s\"..." +msgstr "" msgid "German translation" msgstr "" msgid "Get Commit Message Template" -msgstr "Get Commit Message Template" +msgstr "" msgid "Go Down" -msgstr "Go Down" +msgstr "" msgid "Go Up" -msgstr "Go Up" +msgstr "Yukarı Git" msgid "Grab File..." -msgstr "Grab File..." +msgstr "" msgid "Graph" -msgstr "Graph" +msgstr "" msgid "Grep" -msgstr "Grep" +msgstr "" msgid "Have you rebased/pulled lately?" -msgstr "Have you rebased/pulled lately?" +msgstr "" msgid "Help" msgstr "Yardım" @@ -1268,7 +1206,7 @@ msgstr "" msgid "Help - Find Files" -msgstr "Help - Find Files" +msgstr "Yardım - Dosyaları Ara" msgid "Help - git-xbase" msgstr "" @@ -1286,29 +1224,28 @@ msgstr "" msgid "Icon theme" -msgstr "" +msgstr "Simge Teması" msgid "Ignore all whitespace" -msgstr "Ignore all whitespace" +msgstr "" msgid "Ignore changes in amount of whitespace" -msgstr "Ignore changes in amount of whitespace" +msgstr "" msgid "Ignore changes in whitespace at EOL" -msgstr "Ignore changes in whitespace at EOL" +msgstr "" msgid "Ignore custom pattern" msgstr "" -#, fuzzy msgid "Ignore exact filename" -msgstr "Ignore all whitespace" +msgstr "" msgid "Ignore filename or pattern" msgstr "" msgid "Include tags " -msgstr "Include tags " +msgstr "" msgid "Indent Status paths" msgstr "" @@ -1329,26 +1266,25 @@ msgstr "" msgid "Interactive Rebase" -msgstr "Interactive Rebase" +msgstr "" msgid "Invalid Revision" -msgstr "Invalid Revision" +msgstr "" msgid "Keep *.orig Merge Backups" -msgstr "Keep *.orig Merge Backups" +msgstr "" msgid "Keep Index" -msgstr "Keep Index" +msgstr "" msgid "Keyboard Shortcuts" -msgstr "Keyboard Shortcuts" +msgstr "Klavye Kısayolları" msgid "Launch Diff Tool" msgstr "Karşılaştırma Aracını Çalıştır" -#, fuzzy msgid "Launch Directory Diff Tool" -msgstr "Karşılaştırma Aracını Çalıştır" +msgstr "" msgid "Launch Editor" msgstr "Editörü Çalıştır" @@ -1362,127 +1298,123 @@ msgstr "" msgid "Launch git-cola" -msgstr "Launch git-cola" +msgstr "" -#, fuzzy msgid "Launch git-difftool against previous versions" -msgstr "Launch git-difftool against previous versions." +msgstr "" -#, fuzzy msgid "Launch git-difftool on the current path" -msgstr "Launch git-difftool on the current path." +msgstr "" msgid "Light Theme" -msgstr "" +msgstr "Açık Tema" msgid "Load Commit Message" -msgstr "Load Commit Message" +msgstr "İşleme Mesajını Yükle" msgid "Load Commit Message..." msgstr "İşleme Mesajını Yükle..." msgid "Load Previous Commit Message" -msgstr "Load Previous Commit Message" +msgstr "" msgid "Loading..." -msgstr "Loading..." +msgstr "Yükleniyor..." msgid "Local" -msgstr "Local" +msgstr "Yerel" msgid "Local Branch" -msgstr "Local Branch" +msgstr "Yerel Dal" msgid "Local branch" -msgstr "Local branch" +msgstr "Yerel dal" msgid "Lock Layout" -msgstr "Lock Layout" +msgstr "" msgid "Log" -msgstr "Log" +msgstr "Kayıt" msgid "Maintainer (since 2007) and developer" msgstr "" msgid "Merge" -msgstr "Merge" +msgstr "" #, python-format msgid "Merge \"%(revision)s\" into \"%(branch)s\"" -msgstr "Merge \"%(revision)s\" into \"%(branch)s\"" +msgstr "" msgid "Merge Tool" msgstr "Birleştirme Aracı" msgid "Merge Verbosity" -msgstr "Merge Verbosity" +msgstr "" msgid "Merge failed. Conflict resolution is required." msgstr "" #, python-format msgid "Merge into \"%s\"" -msgstr "Merge into \"%s\"" +msgstr "" -#, fuzzy msgid "Merge into current branch" -msgstr "Browse Current Branch..." +msgstr "" msgid "Merge..." -msgstr "Merge..." +msgstr "" msgid "Merging" msgstr "Birleştiriliyor" msgid "Message" -msgstr "Message" +msgstr "Mesaj" msgid "Missing Commit Message" -msgstr "Missing Commit Message" +msgstr "" msgid "Missing Data" msgstr "Kayıp Veri" msgid "Missing Name" -msgstr "Missing Name" +msgstr "Kayıp Ad" msgid "Missing Revision" -msgstr "Missing Revision" +msgstr "" msgid "Missing Tag Message" -msgstr "Missing Tag Message" +msgstr "" msgid "Modified" msgstr "Düzenlenmiş" msgid "More..." -msgstr "More..." +msgstr "" msgid "Move Down" -msgstr "Move Down" +msgstr "" msgid "Move Up" msgstr "Yukarı Kaydır" msgid "Move files to trash" -msgstr "Move files to trash" +msgstr "" msgid "Name" -msgstr "Name" +msgstr "Ad" msgid "Name for the new remote" -msgstr "Name for the new remote" +msgstr "" -#, fuzzy msgid "New Bare Repository..." -msgstr "Yeni Depo..." +msgstr "" msgid "New Repository..." msgstr "Yeni Depo..." msgid "New..." -msgstr "New..." +msgstr "Yeni..." msgid "Next File" msgstr "Sonraki Dosya" @@ -1491,112 +1423,102 @@ msgstr "Hayır" msgid "No Revision Specified" -msgstr "No Revision Specified" +msgstr "" msgid "" "No changes to commit.\n" "\n" "You must stage at least 1 file before you can commit." msgstr "" -"No changes to commit.\n" -"\n" -"You must stage at least 1 file before you can commit." msgid "No commits exist in this branch." -msgstr "No commits exist in this branch." +msgstr "" msgid "No fast forward" -msgstr "No fast forward" +msgstr "" -#, fuzzy msgid "No fast-forward" -msgstr "No fast forward" +msgstr "" msgid "No repository selected." -msgstr "No repository selected." +msgstr "" msgid "Non-fast-forward fetch overwrites local history!" -msgstr "Non-fast-forward fetch overwrites local history!" +msgstr "" msgid "" "Non-fast-forward push overwrites published history!\n" "(Did you pull first?)" msgstr "" -"Non-fast-forward push overwrites published history!\n" -"(Did you pull first?)" msgid "Nothing to commit" -msgstr "Nothing to commit" +msgstr "" msgid "Nothing to do" -msgstr "Nothing to do" +msgstr "" msgid "Number of Diff Context Lines" -msgstr "Number of Diff Context Lines" +msgstr "" msgid "Open" -msgstr "Open" +msgstr "Aç" msgid "Open Git Repository..." -msgstr "Open Git Repository..." +msgstr "Git Deposunu Aç..." -#, fuzzy msgid "Open Parent" -msgstr "Open Recent" +msgstr "" msgid "Open Parent Directory" msgstr "Üst Klasörü Aç" msgid "Open Recent" -msgstr "Open Recent" +msgstr "" msgid "Open Using Default Application" msgstr "Varsayılan Uygulamayla Aç" msgid "Open in New Window" -msgstr "Open in New Window" +msgstr "Yeni Pencere Aç" msgid "Open in New Window..." -msgstr "Open in New Window..." +msgstr "Yeni Pencere Aç..." msgid "Open..." -msgstr "Open..." +msgstr "Aç..." -#, fuzzy msgid "Other branches" -msgstr "Filter paths..." +msgstr "Diğer dallar" msgid "Overwrite" -msgstr "Overwrite" +msgstr "" #, python-format msgid "Overwrite \"%s\"?" -msgstr "Overwrite \"%s\"?" +msgstr "" msgid "Overwrite File?" -msgstr "Overwrite File?" +msgstr "" msgid "" "Parse arguments using a shell.\n" "Queries with spaces will require \"double quotes\"." msgstr "" -"Parse arguments using a shell.\n" -"Queries with spaces will require \"double quotes\"." msgid "Partially Staged" -msgstr "Partially Staged" +msgstr "" msgid "Paste" -msgstr "" +msgstr "Yapıştır" msgid "Patch(es) Applied" msgstr "Uygulanan Düzeltmeler" msgid "Path" -msgstr "" +msgstr "Yol" msgid "Path or URL to clone (Env. $VARS okay)" -msgstr "Path or URL to clone (Env. $VARS okay)" +msgstr "" msgid "Pick" msgstr "" @@ -1605,16 +1527,16 @@ msgstr "" msgid "Please provide both a branch name and revision expression." -msgstr "Please provide both a branch name and revision expression." +msgstr "" msgid "Please select a file" msgstr "Lütfen bir dosya seçin" msgid "Please specify a name for the new tag." -msgstr "Please specify a name for the new tag." +msgstr "" msgid "Please specify a revision to tag." -msgstr "Please specify a revision to tag." +msgstr "" msgid "" "Please supply a commit message.\n" @@ -1625,13 +1547,6 @@ "- Second line: Blank\n" "- Remaining lines: Describe why this change is good.\n" msgstr "" -"Please supply a commit message.\n" -"\n" -"A good commit message has the following format:\n" -"\n" -"- First line: Describe in one sentence what you did.\n" -"- Second line: Blank\n" -"- Remaining lines: Describe why this change is good.\n" msgid "Point the current branch head to a new commit?" msgstr "" @@ -1646,11 +1561,10 @@ msgstr "Seçenekler" msgid "Prefix" -msgstr "Prefix" +msgstr "Ön Ek" -#, fuzzy msgid "Prepare Commit Message" -msgstr "Search Commit Messages" +msgstr "" msgid "Prevent \"Stage\" from staging all files when nothing is selected" msgstr "" @@ -1661,27 +1575,26 @@ msgid "Prompt on creation" msgstr "" -#, fuzzy msgid "Prompt when pushing creates new remote branches" -msgstr "Create a new remote branch?" +msgstr "" msgid "Prune " msgstr "" msgid "Pull" -msgstr "Pull" +msgstr "" msgid "Pull..." -msgstr "Pull..." +msgstr "" msgid "Push" -msgstr "Push" +msgstr "" msgid "Push..." -msgstr "Push..." +msgstr "" msgid "Quit" -msgstr "Çıkış" +msgstr "Çık" msgid "Rebase" msgstr "Konumlandır" @@ -1690,37 +1603,35 @@ msgid "Rebase onto %s" msgstr "%s öğesine konumlandır" -#, fuzzy msgid "Rebase stopped" -msgstr "Konumlandırma durdu" +msgstr "" msgid "Rebase the current branch instead of merging" msgstr "" msgid "Rebasing" -msgstr "Rebasing" +msgstr "" msgid "Recent" msgstr "Son" msgid "Recent repositories" -msgstr "Recent repositories" +msgstr "" -#, fuzzy msgid "Recent repository count" -msgstr "Recent repositories" +msgstr "" msgid "Recently Modified Files" -msgstr "Recently Modified Files" +msgstr "" msgid "Recently Modified Files..." msgstr "En Son Düzenlenen Dosyalar..." msgid "Recovering a dropped stash is not possible." -msgstr "Recovering a dropped stash is not possible." +msgstr "" msgid "Recovering lost commits may not be easy." -msgstr "Recovering lost commits may not be easy." +msgstr "" msgid "Redo" msgstr "" @@ -1731,20 +1642,22 @@ msgid "Refresh" msgstr "Yenile" -msgid "Refuse to merge unless the current HEAD is already up-to-date or the merge can be resolved as a fast-forward" +msgid "" +"Refuse to merge unless the current HEAD is already up-to-date or the merge " +"can be resolved as a fast-forward" msgstr "" msgid "Remote" -msgstr "Remote" +msgstr "" msgid "Remote Branch" -msgstr "Remote Branch" +msgstr "" msgid "Remote Branch Deleted" msgstr "Uzaktaki Dal Silindi" msgid "Remote git repositories - double-click to rename" -msgstr "Remote git repositories - double-click to rename" +msgstr "" msgid "Remove" msgstr "Kaldır" @@ -1753,106 +1666,94 @@ msgid "Remove %s from the recent list?" msgstr "%s öğesini son kullanılanlardan sil?" -#, fuzzy msgid "Remove Element" -msgstr "Kaldır" +msgstr "" msgid "Remove remote-tracking branches that no longer exist on the remote" msgstr "" msgid "Remove selected (Delete)" -msgstr "Remove selected (Delete)" +msgstr "" msgid "Rename" msgstr "Yeniden Adlandır" -#, fuzzy, python-format +#, python-format msgid "Rename \"%s\"" -msgstr "Yeniden Adlandır" +msgstr "" -#, fuzzy msgid "Rename Branch" -msgstr "Dalı Yeniden Adlandır..." +msgstr "Dalı Yeniden Adlandır" msgid "Rename Branch..." msgstr "Dalı Yeniden Adlandır..." msgid "Rename Existing Branch" -msgstr "Rename Existing Branch" +msgstr "" msgid "Rename Remote" msgstr "Uzaktakini Yeniden Adlandır" -#, fuzzy msgid "Rename Repository" -msgstr "Clone Repository" +msgstr "Depoyu Yeniden Adlandır" -#, fuzzy msgid "Rename branch" -msgstr "Dalı Yeniden Adlandır..." +msgstr "Dalı yeniden adlandır" #, python-format msgid "Rename remote \"%(current)s\" to \"%(new)s\"?" -msgstr "Rename remote \"%(current)s\" to \"%(new)s\"?" +msgstr "" -#, fuzzy msgid "Rename selected paths" -msgstr "Edit selected paths" +msgstr "" #, python-format msgid "Repository: %s" -msgstr "Repository: %s" +msgstr "Depo: %s" msgid "Reset" msgstr "Sıfırla" #, python-format msgid "Reset \"%(branch)s\" to \"%(revision)s\"?" -msgstr "Reset \"%(branch)s\" to \"%(revision)s\"?" +msgstr "" msgid "Reset Branch" -msgstr "Branşı Sıfırla" +msgstr "Dalı Sıfırla" -#, fuzzy msgid "Reset Branch Head" -msgstr "Reset Branch" +msgstr "" msgid "Reset Branch?" -msgstr "Reset Branch?" +msgstr "Dalı Sıfırla?" -#, fuzzy msgid "Reset Hard" -msgstr "Reset Branch" +msgstr "" -#, fuzzy msgid "Reset Merge" -msgstr "Revision to Merge" +msgstr "" -#, fuzzy msgid "Reset Soft" -msgstr "Sıfırla" +msgstr "" msgid "Reset Worktree" msgstr "" -#, fuzzy msgid "Reset hard?" -msgstr "Reset Branch?" +msgstr "" -#, fuzzy msgid "Reset merge?" -msgstr "Reset Branch?" +msgstr "" -#, fuzzy msgid "Reset soft?" -msgstr "Sıfırla" +msgstr "" msgid "Reset worktree?" msgstr "" #, python-format msgid "Resetting \"%(branch)s\" to \"%(revision)s\" will lose commits." -msgstr "Resetting \"%(branch)s\" to \"%(revision)s\" will lose commits." +msgstr "" msgid "Restart the application after changing appearance settings." msgstr "" @@ -1861,160 +1762,156 @@ msgstr "" msgid "Revert Diff Hunk" -msgstr "Revert Diff Hunk" +msgstr "" msgid "Revert Diff Hunk..." -msgstr "Revert Diff Hunk..." +msgstr "" msgid "Revert Diff Hunk?" -msgstr "Revert Diff Hunk?" +msgstr "" msgid "Revert Selected Lines" -msgstr "Revert Selected Lines" +msgstr "" msgid "Revert Selected Lines..." -msgstr "Revert Selected Lines..." +msgstr "" msgid "Revert Selected Lines?" -msgstr "Revert Selected Lines?" +msgstr "" msgid "Revert Uncommitted Changes" -msgstr "Revert Uncommitted Changes" +msgstr "" msgid "Revert Uncommitted Changes?" -msgstr "Revert Uncommitted Changes?" +msgstr "" msgid "Revert Uncommitted Edits..." -msgstr "Revert Uncommitted Edits..." +msgstr "" msgid "Revert Unstaged Changes" -msgstr "Revert Unstaged Changes" +msgstr "" msgid "Revert Unstaged Changes?" -msgstr "Revert Unstaged Changes?" +msgstr "" msgid "Revert Unstaged Edits..." -msgstr "Revert Unstaged Edits..." +msgstr "" msgid "Revert the uncommitted changes?" -msgstr "Revert the uncommitted changes?" +msgstr "" msgid "Revert the unstaged changes?" -msgstr "Revert the unstaged changes?" +msgstr "" -#, fuzzy msgid "Revert uncommitted changes to selected paths" -msgstr "Revert uncommitted changes to selected paths." +msgstr "" -#, fuzzy msgid "Revert unstaged changes to selected paths" -msgstr "Revert unstaged changes to selected paths." +msgstr "" msgid "Review" msgstr "Önizle" msgid "Review..." -msgstr "Review..." +msgstr "Önizle..." msgid "Revision" -msgstr "Revision" +msgstr "" msgid "Revision Expression:" -msgstr "Revision Expression:" +msgstr "" msgid "Revision to Merge" -msgstr "Revision to Merge" +msgstr "" msgid "Reword" msgstr "" msgid "Rewrite Published Commit?" -msgstr "Rewrite Published Commit?" +msgstr "" msgid "Run" -msgstr "Run" +msgstr "Çalıştır" #, python-format msgid "Run \"%s\"?" -msgstr "Çalıştır \"%s\"?" +msgstr "\"%s\" çalıştırılsın mı?" #, python-format msgid "Run %s?" -msgstr "Run %s?" +msgstr "%s çalıştırılsın mı?" #, python-format msgid "Run the \"%s\" command?" -msgstr "Run the \"%s\" command?" +msgstr "" #, python-format msgid "Running command: %s" -msgstr "Running command: %s" +msgstr "Komut çalıştırılıyor: %s" msgid "Russian translation" msgstr "" -#, fuzzy msgid "SHA-1" -msgstr "Copy SHA-1" +msgstr "" -#, fuzzy msgid "Safe Mode" -msgstr "Stage Modified" +msgstr "" msgid "Save" msgstr "Kaydet" msgid "Save Archive" -msgstr "Save Archive" +msgstr "Arşivi Kaydet" msgid "Save As Tarball/Zip..." -msgstr "Save As Tarball/Zip..." +msgstr "" msgid "Save GUI Settings" -msgstr "GUI Ayarlarını Kaydet" +msgstr "Arayüz Ayarlarını Kaydet" msgid "Save Stash" -msgstr "Save Stash" +msgstr "" msgid "Save modified state to new stash" -msgstr "Save modified state to new stash" +msgstr "" #, python-format msgid "Saved \"%(filename)s\" from \"%(ref)s\" to \"%(destination)s\"" -msgstr "Saved \"%(filename)s\" from \"%(ref)s\" to \"%(destination)s\"" +msgstr "" msgid "Search" -msgstr "Search" +msgstr "Ara" msgid "Search Authors" -msgstr "Search Authors" +msgstr "Yazarları Ara" msgid "Search Commit Messages" -msgstr "Search Commit Messages" +msgstr "" msgid "Search Committers" -msgstr "Search Committers" +msgstr "" msgid "Search Date Range" -msgstr "Search Date Range" +msgstr "" msgid "Search Diffs" -msgstr "Search Diffs" +msgstr "" msgid "Search by Expression" -msgstr "Search by Expression" +msgstr "" msgid "Search by Path" -msgstr "Search by Path" +msgstr "" msgid "Search for a fixed string" -msgstr "Search for a fixed string" +msgstr "" msgid "Search using a POSIX basic regular expression" -msgstr "Search using a POSIX basic regular expression" +msgstr "" msgid "Search using a POSIX extended regular expression" -msgstr "Search using a POSIX extended regular expression" +msgstr "" msgid "Search..." msgstr "Arama..." @@ -2023,83 +1920,75 @@ msgstr "Seç" msgid "Select All" -msgstr "Select All" +msgstr "" msgid "Select Branch to Review" -msgstr "Select Branch to Review" +msgstr "" msgid "Select Child" -msgstr "Select Child" +msgstr "" msgid "Select Commit" -msgstr "Select Commit" +msgstr "" -#, fuzzy msgid "Select Directory..." -msgstr "Select Repository..." +msgstr "Dosyayı Seç..." msgid "Select New Upstream" -msgstr "Select New Upstream" +msgstr "" msgid "Select Newest Child" -msgstr "Select Newest Child" +msgstr "" msgid "Select Oldest Parent" -msgstr "Select Oldest Parent" +msgstr "" msgid "Select Parent" -msgstr "Select Parent" +msgstr "" msgid "Select Previous Version" -msgstr "Select Previous Version" +msgstr "" msgid "Select Repository..." -msgstr "Select Repository..." +msgstr "Depoyu Seç..." msgid "Select a parent directory for the new clone" -msgstr "Select a parent directory for the new clone" +msgstr "" msgid "Select manually..." -msgstr "Select manually..." +msgstr "" -#, fuzzy msgid "Select output dir" -msgstr "Select Commit" +msgstr "" -#, fuzzy msgid "Select output directory" -msgstr "Select Repository..." +msgstr "" -#, fuzzy msgid "Select patch file(s)..." -msgstr "Select patch files..." +msgstr "" -#, fuzzy msgid "Select repository" -msgstr "Select Repository..." +msgstr "Depoyu seç" -#, fuzzy msgid "Set Default Repository" -msgstr "Select Repository..." +msgstr "Varsayılan Depoyu Seç" -#, fuzzy msgid "Set Upstream Branch" -msgstr "Select New Upstream" +msgstr "" msgid "" "Set the sort order for branches and tags.\n" "Toggle between date-based and version-name-based sorting." msgstr "" -#, fuzzy msgid "Set upstream" -msgstr "Select New Upstream" +msgstr "" msgid "Settings" msgstr "Ayarlar" msgid "Shell arguments" -msgstr "Shell arguments" +msgstr "" msgid "Shift Down" msgstr "" @@ -2108,14 +1997,13 @@ msgstr "" msgid "Shortcuts" -msgstr "Shortcuts" +msgstr "Kısayollar" -#, fuzzy msgid "Show Details..." -msgstr "Dosyaları Sil..." +msgstr "Ayrıntıları Göster..." msgid "Show Diffstat After Merge" -msgstr "Show Diffstat After Merge" +msgstr "" msgid "Show Full Paths in the Window Title" msgstr "" @@ -2123,9 +2011,8 @@ msgid "Show Help" msgstr "Yardımı Göster" -#, fuzzy msgid "Show History" -msgstr "Show history" +msgstr "Geçmişi Göster" msgid "Show file counts in Status titles" msgstr "" @@ -2144,22 +2031,22 @@ msgstr "" msgid "Show whole surrounding functions of changes" -msgstr "Show whole surrounding functions of changes" +msgstr "" msgid "Showing changes since" -msgstr "Showing changes since" +msgstr "" msgid "Side by side" msgstr "" msgid "Sign Off" -msgstr "Sign Off" +msgstr "" msgid "Sign Tag" -msgstr "Sign Tag" +msgstr "" msgid "Sign off on this commit" -msgstr "Sign off on this commit" +msgstr "" msgid "Simplified Chinese translation" msgstr "" @@ -2168,143 +2055,140 @@ msgstr "Atla" msgid "Skip Current Patch" -msgstr "Skip Current Patch" +msgstr "" msgid "Sort bookmarks alphabetically" -msgstr "Sort bookmarks alphabetically" +msgstr "" msgid "Spanish translation" msgstr "" msgid "Specifies the SHA-1 to tag" -msgstr "Specifies the SHA-1 to tag" +msgstr "" msgid "Specifies the tag message" -msgstr "Specifies the tag message" +msgstr "" msgid "Specifies the tag name" -msgstr "Specifies the tag name" +msgstr "" msgid "Spelling Suggestions" -msgstr "Spelling Suggestions" +msgstr "" msgid "Squash" -msgstr "Squash" +msgstr "" msgid "Squash the merged commits into a single commit" -msgstr "Squash the merged commits into a single commit" +msgstr "" msgid "Stage" -msgstr "Stage" +msgstr "" msgid "Stage / Unstage" -msgstr "Stage / Unstage" +msgstr "" msgid "Stage All Untracked" -msgstr "Stage All Untracked" +msgstr "" msgid "Stage Changed Files To Commit" -msgstr "Stage Changed Files To Commit" +msgstr "" msgid "Stage Diff Hunk" -msgstr "Stage Diff Hunk" +msgstr "" msgid "Stage Modified" -msgstr "Stage Modified" +msgstr "" msgid "Stage Selected" -msgstr "Stage Selected" +msgstr "" msgid "Stage Selected Lines" -msgstr "Stage Selected Lines" +msgstr "" msgid "Stage Unmerged" -msgstr "Stage Unmerged" +msgstr "" msgid "Stage Untracked" -msgstr "Stage Untracked" +msgstr "" msgid "Stage and Commit" -msgstr "Stage and Commit" +msgstr "" msgid "Stage and commit?" -msgstr "Stage and commit?" +msgstr "" msgid "Stage conflicts" -msgstr "Stage conflicts" +msgstr "" msgid "Stage conflicts?" -msgstr "Stage conflicts?" +msgstr "" msgid "Stage/unstage selected paths for commit" -msgstr "Stage/unstage selected paths for commit" +msgstr "" msgid "Staged" -msgstr "Staged" +msgstr "" #, python-format msgid "Staging: %s" -msgstr "Staging: %s" +msgstr "" msgid "Start Interactive Rebase..." -msgstr "Start Interactive Rebase..." +msgstr "" msgid "Starting Revision" -msgstr "Starting Revision" +msgstr "" msgid "Stash" -msgstr "Stash" +msgstr "" -#, fuzzy msgid "Stash Index" -msgstr "Stash" +msgstr "" -#, fuzzy msgid "Stash staged changes only" -msgstr "Commit staged changes" +msgstr "" -#, fuzzy msgid "Stash unstaged changes only, keeping staged changes" -msgstr "Revert unstaged changes to selected paths." +msgstr "" msgid "Stash..." -msgstr "Stash..." +msgstr "" msgid "Status" msgstr "Durum" msgid "Stop tracking paths" -msgstr "Stop tracking paths" +msgstr "" msgid "Submodules" msgstr "" msgid "Summarize Merge Commits" -msgstr "Summarize Merge Commits" +msgstr "" msgid "Summary" -msgstr "Summary" +msgstr "" msgid "Tab Width" -msgstr "Tab Width" +msgstr "Tab Genişliği" msgid "Tag" -msgstr "Tag" +msgstr "Etiket" msgid "Tag Created" -msgstr "Tag Created" +msgstr "" msgid "Tag message..." -msgstr "Tag message..." +msgstr "Etiket mesajı..." msgid "Tag-signing was requested but the tag message is empty." -msgstr "Tag-signing was requested but the tag message is empty." +msgstr "" msgid "Tags" -msgstr "" +msgstr "Etiketler" msgid "Text Width" -msgstr "Text Width" +msgstr "Yazı Genişliği" msgid "The branch will be no longer available." msgstr "" @@ -2326,17 +2210,17 @@ msgstr "" msgid "The commit message will be cleared." -msgstr "The commit message will be cleared." +msgstr "" #, python-format msgid "The file \"%s\" exists and will be overwritten." -msgstr "The file \"%s\" exists and will be overwritten." +msgstr "" msgid "The following files will be deleted:" msgstr "Aşağıdaki satırlar silinecek:" msgid "The revision expression cannot be empty." -msgstr "The revision expression cannot be empty." +msgstr "" #, python-format msgid "" @@ -2349,70 +2233,54 @@ msgstr "" msgid "This cannot be undone. Clear commit message?" -msgstr "This cannot be undone. Clear commit message?" +msgstr "" msgid "" "This commit has already been published.\n" "This operation will rewrite published history.\n" "You probably don't want to do this." msgstr "" -"This commit has already been published.\n" -"This operation will rewrite published history.\n" -"You probably don't want to do this." -#, fuzzy msgid "" "This operation drops uncommitted changes.\n" "These changes cannot be recovered." msgstr "" -"This operation removes uncommitted edits from selected files.\n" -"These changes cannot be recovered." msgid "" "This operation removes uncommitted edits from selected files.\n" "These changes cannot be recovered." msgstr "" -"This operation removes uncommitted edits from selected files.\n" -"These changes cannot be recovered." msgid "" "This operation removes unstaged edits from selected files.\n" "These changes cannot be recovered." msgstr "" -"This operation removes unstaged edits from selected files.\n" -"These changes cannot be recovered." msgid "" "This repository is currently being rebased.\n" "Resolve conflicts, commit changes, and run:\n" " Rebase > Continue" msgstr "" -"This repository is currently being rebased.\n" -"Resolve conflicts, commit changes, and run:\n" -" Rebase > Continue" msgid "" "This repository is in the middle of a merge.\n" "Resolve conflicts and commit changes." msgstr "" -"This repository is in the middle of a merge.\n" -"Resolve conflicts and commit changes." msgid "Toggle Enabled" msgstr "" -#, fuzzy msgid "Toggle the branches filter" -msgstr "Toggle the paths filter" +msgstr "" msgid "Toggle the paths filter" -msgstr "Toggle the paths filter" +msgstr "" msgid "Tracking Branch" -msgstr "Tracking Branch" +msgstr "" msgid "Tracking branch" -msgstr "Tracking branch" +msgstr "" msgid "Traditional Chinese (Taiwan) translation" msgstr "" @@ -2421,7 +2289,7 @@ msgstr "" msgid "Turkish translation" -msgstr "" +msgstr "Türkçe çeviri" msgid "URL" msgstr "URL" @@ -2434,7 +2302,7 @@ msgstr "" msgid "Unable to rebase" -msgstr "Unable to rebase" +msgstr "" #, python-format msgid "Unable to set URL for \"%(name)s\" to \"%(url)s\"" @@ -2447,42 +2315,42 @@ msgstr "Birleştirilmemiş" msgid "Unstage" -msgstr "Unstage" +msgstr "" msgid "Unstage All" -msgstr "Unstage All" +msgstr "" msgid "Unstage Diff Hunk" -msgstr "Unstage Diff Hunk" +msgstr "" msgid "Unstage From Commit" -msgstr "Unstage From Commit" +msgstr "" msgid "Unstage Selected" -msgstr "Unstage Selected" +msgstr "" msgid "Unstage Selected Lines" -msgstr "Unstage Selected Lines" +msgstr "" #, python-format msgid "Unstaging: %s" -msgstr "Unstaging: %s" +msgstr "" msgid "Untrack Selected" -msgstr "Untrack Selected" +msgstr "" msgid "Untracked" msgstr "Takip Edilmemiş" #, python-format msgid "Untracking: %s" -msgstr "Untracking: %s" +msgstr "" msgid "Update All Submodules..." msgstr "" msgid "Update Existing Branch:" -msgstr "Update Existing Branch:" +msgstr "" msgid "Update Submodule" msgstr "" @@ -2506,44 +2374,43 @@ msgstr "" msgid "Updating" -msgstr "Updating" +msgstr "" msgid "User Name" -msgstr "User Name" +msgstr "Kullanıcı Adı" -#, fuzzy msgid "Version" -msgstr "Revision" +msgstr "Versiyon" msgid "View" -msgstr "View" +msgstr "Göster" msgid "View History..." -msgstr "View History..." +msgstr "Geçmişi Göster..." msgid "View history for selected paths" -msgstr "View history for selected paths" +msgstr "" msgid "Visualize" -msgstr "Visualize" +msgstr "" msgid "Visualize All Branches..." -msgstr "Visualize All Branches..." +msgstr "" msgid "Visualize Current Branch..." -msgstr "Visualize Current Branch..." +msgstr "" msgid "Whether to sign the tag (git tag -s)" -msgstr "Whether to sign the tag (git tag -s)" +msgstr "" msgid "Would you like to stage and commit all modified files?" -msgstr "Would you like to stage and commit all modified files?" +msgstr "" msgid "XOR" msgstr "" msgid "Yes" -msgstr "" +msgstr "Evet" msgid "" "You are in the middle of a merge.\n" @@ -2553,40 +2420,41 @@ "Birleştirme yapılırken değişiklik yapamazsınız." msgid "You cannot rebase with uncommitted changes." -msgstr "You cannot rebase with uncommitted changes." +msgstr "" msgid "You must specify a revision to merge." -msgstr "You must specify a revision to merge." +msgstr "" msgid "You must specify a revision to view." -msgstr "You must specify a revision to view." +msgstr "" msgid "Zoom In" -msgstr "Zoom In" +msgstr "Yakınlaş" msgid "Zoom Out" -msgstr "Zoom Out" +msgstr "Uzaklaş" msgid "Zoom to Fit" -msgstr "Zoom to Fit" +msgstr "" msgid "command-line arguments" -msgstr "command-line arguments" +msgstr "" msgid "error: unable to execute git" msgstr "" #, python-format msgid "exit code %s" -msgstr "exit code %s" +msgstr "" #, python-format -msgid "fatal: \"%s\" is not a directory. Please specify a correct --repo ." -msgstr "fatal: \"%s\" is not a directory. Please specify a correct --repo ." +msgid "" +"fatal: \"%s\" is not a directory. Please specify a correct --repo ." +msgstr "" #, python-format msgid "git cola version %s" -msgstr "git cola version %s" +msgstr "git cola sürümü %s" msgid "git-cola" msgstr "git-cola" @@ -2595,28 +2463,28 @@ msgstr "git-cola diff" msgid "grep result..." -msgstr "grep result..." +msgstr "grep sonucu..." msgid "hotkeys.html" msgstr "hotkeys.html" msgid "unknown" -msgstr "unknown" +msgstr "bilinmeyen" msgid "vX.Y.Z" msgstr "vX.Y.Z" msgid "x 1" -msgstr "" +msgstr "x 1" msgid "x 1.5" -msgstr "" +msgstr "x 1.5" msgid "x 2" -msgstr "" +msgstr "x 2" msgid "yyyy-MM-dd" -msgstr "yyyy-MM-dd" +msgstr "yyyy-AA-gg" #, fuzzy #~ msgid "\"%s\" returned exit status %d" diff -Nru git-cola-3.5/pynsist.cfg git-cola-3.6/pynsist.cfg --- git-cola-3.5/pynsist.cfg 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/pynsist.cfg 2019-11-27 08:36:53.000000000 +0000 @@ -2,7 +2,7 @@ [Application] name = git-cola -version = 3.5 +version = 3.6 entry_point = cola.main:shortcut_launch icon = share/git-cola/icons/git-cola.ico extra_preamble = contrib/win32/pynsist-preamble.py diff -Nru git-cola-3.5/requirements/requirements-dev.txt git-cola-3.6/requirements/requirements-dev.txt --- git-cola-3.5/requirements/requirements-dev.txt 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/requirements/requirements-dev.txt 2019-11-27 08:36:53.000000000 +0000 @@ -10,6 +10,7 @@ astroid==2.2.5; python_version >= '3.0' pylint==2.3.1; python_version >= '3.0' astroid==1.6.5; python_version < '3.0' +enum34==1.1.6; python_version < '3.0' pylint==1.9.4; python_version < '3.0' PyYAML pytest>=3.6 diff -Nru git-cola-3.5/setup.py git-cola-3.6/setup.py --- git-cola-3.5/setup.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/setup.py 2019-11-27 08:36:53.000000000 +0000 @@ -11,6 +11,7 @@ import sys from extras import cmdclass +from extras import build_helpers # Hack: prevent python2's ascii default encoding from breaking inside # distutils when installing from utf-8 paths. @@ -28,7 +29,7 @@ except ValueError: use_env_python = False if use_env_python: - build_scripts.first_line_re = re.compile('^should not match$') + build_scripts.first_line_re = re.compile(r'^should not match$') # Disable vendoring of qtpy and friends by passing --no-vendor-libs try: @@ -54,6 +55,13 @@ if sys.platform == 'win32': scripts.append('contrib/win32/cola') + # Helper scripts are installed to share/git-cola/bin and are visible to + # git-cola only. Adding scripts to build_helpers.scripts will make them + # available for #! updating. + build_helpers.helpers = [ + 'share/git-cola/bin/git-xbase', + ] + setup(name='git-cola', version=version, description='The highly caffeinated git GUI', diff -Nru git-cola-3.5/share/doc/git-cola/git-cola.rst git-cola-3.6/share/doc/git-cola/git-cola.rst --- git-cola-3.5/share/doc/git-cola/git-cola.rst 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/share/doc/git-cola/git-cola.rst 2019-11-27 08:36:53.000000000 +0000 @@ -457,6 +457,13 @@ This can speed up operations when working in large repositories. Defaults to `true`. +cola.autoloadCommitTemplate +--------------------------- +Set to `true` to automatically load the commit template in the commit message +editor If the commit.template variable has not been configured, raise the +corresponding error. +Defaults to `false`. + cola.blameviewer ---------------- The command used to blame files. Defaults to `git gui blame`. diff -Nru git-cola-3.5/share/doc/git-cola/relnotes.rst git-cola-3.6/share/doc/git-cola/relnotes.rst --- git-cola-3.5/share/doc/git-cola/relnotes.rst 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/share/doc/git-cola/relnotes.rst 2019-11-27 08:36:53.000000000 +0000 @@ -5,7 +5,7 @@ Latest Release ============== -:ref:`v3.5 ` is the latest stable release. +:ref:`v3.6 ` is the latest stable release. Development version =================== @@ -14,6 +14,79 @@ ``git clone git://github.com/git-cola/git-cola.git`` +.. _v3.6: + +Usability, bells and whistles +----------------------------- +* The remote editor is much faster since it no longer queries + remotes, and uses the cached information instead. + (`#986 `_) + +* Commit message templates can now be loaded automatically by setting + ``git config cola.autoloadcommittemplate true``. + (`#1013 `_) + (`#735 `_) + +* The UI layout can now be reset back to its initial state by selecting + the "Reset Layout" action. This reverts the layout to the same state + as when the app first launched. + (`#1008 `_) + (`#994 `_) + +* Files can now be ignored in either the project's `.gitignore`, or in the + repository's private local `.git/info/exclude` ignore file. + (`#1006 `_) + (`#1000 `_) + +* New remotes are now selected when they are added in the "Edit Remotes" tool. + (`#1002 `_) + +* The "Recent" repositories list is now saved to disk when opening a + repository. Previously, this list was only updated when exiting the app. + (`#1001 `_) + +* The bookmarks tool now has a "Delete" option in its right-click menu. + (`#999 `_) + +* The current repository is no longer listed in the "File/Open Recent" menu. + (`#998 `_) + +Translations +------------ +* Updated Hungarian translation. + (`#1005 `_) + (`#1018 `_) + +* Updated Turkish translation. + (`#1003 `_) + (`#1011 `_) + +Fixes +----- +* Better support for Python 3.8's line buffering modes. + (`#1014 `_) + +* The default `ssh-askpass` script now uses a more generic `#!` shebang line. + (`#1012 `_) + +* Fetch, push, and pull operations will now refresh the model and display when + operations complete. + (`#996 `_) + +* The branches widget now refreshes its display when changing branches. + (`#992 `_) + +Packaging +--------- +* The `share/git-cola/bin/git-xbase` script will now have its `#!` lines + updated during installation. + (`#991 `_) + +Development +----------- +* The unit tests were made more platform-independent. + (`#993 `_) + .. _v3.5: Usability, bells and whistles diff -Nru git-cola-3.5/share/doc/git-cola/thanks.rst git-cola-3.6/share/doc/git-cola/thanks.rst --- git-cola-3.5/share/doc/git-cola/thanks.rst 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/share/doc/git-cola/thanks.rst 2019-11-27 08:36:53.000000000 +0000 @@ -6,7 +6,10 @@ * Aaron Wolf * Adam Lesperance * Adrien be +* Adil * AJ Bagwell +* akontsevich +* Aleksey Kontsevich * Alex Chernetz * Alex Gulyás * Alexander Kozienko @@ -20,6 +23,7 @@ * armandg * Arthur Coelho * Audrius Karabanovas +* Balázs Meskó * balping * Barış ÇELİK * Barry Roberts @@ -27,9 +31,11 @@ * Ben Boeckel * Ben Cole * Benedict Lee +* Benjamin Somers * Benoît Nouyrigat * Bert Jacobs * Birger Skogeng Pedersen +* Björn Ketelaars * 林博仁 (Buo-ren Lin) * cclaus * Charles 101 @@ -58,6 +64,7 @@ * Erop @EgZvor * Erwan Bousse * Fabio Coatti +* Felipe Morales * Filip Danilović * fu7mu4 * Garoe Dorta @@ -68,6 +75,7 @@ * Glen Mailer * Guillaume de Bure * Guo Yunhe +* Gyuris Gellért * Harro Verton * Hannes @kannes * Igor Galarraga @@ -176,11 +184,13 @@ * Robert Pollak * Rolando Espinoza La fuente * Rustam Safin +* Sabri Ünal * Samsul Ma'arif * Sebastian Brass * Sebastian Oliva * Sergey Leschina * Shun Sakai +* Simon Peeters * Srinivasa Nallapati * Stan Angeloff * Stanisław Halik @@ -195,6 +205,8 @@ * Thomas Kiley * Thomas Kluyver * Thomas Thorne +* Tom Dobbelaere +* Tim Brown * Tim Schumacher * Trevor Alexander * Ugo Riboni @@ -204,6 +216,7 @@ * Vaibhav Sagar * Vaiz * Ved Vyas +* Victor Nepveu * Victorhck * Ville Skyttä * Virgil Dupras diff -Nru git-cola-3.5/share/git-cola/bin/git-xbase git-cola-3.6/share/git-cola/bin/git-xbase --- git-cola-3.5/share/git-cola/bin/git-xbase 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/share/git-cola/bin/git-xbase 2019-11-27 08:36:53.000000000 +0000 @@ -297,6 +297,7 @@ hide_expr=True) +# pylint: disable=too-many-ancestors class RebaseTreeWidget(standard.DraggableTreeWidget): external_diff = Signal() move_rows = Signal(object, object) @@ -356,6 +357,7 @@ self.action_shift_up = qtutils.add_action( self, N_('Shift Up'), self.shift_up, hotkeys.MOVE_UP_TERTIARY) + # pylint: disable=no-member self.itemChanged.connect(self.item_changed) self.itemSelectionChanged.connect(self.selection_changed) self.move_rows.connect(self.move) @@ -564,6 +566,7 @@ combo.setEnabled(self.is_commit()) signal = combo.currentIndexChanged + # pylint: disable=no-member signal.connect(lambda x: self.set_command_and_validate(combo)) combo.validate.connect(parent.validate) diff -Nru git-cola-3.5/share/git-cola/bin/ssh-askpass git-cola-3.6/share/git-cola/bin/ssh-askpass --- git-cola-3.5/share/git-cola/bin/ssh-askpass 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/share/git-cola/bin/ssh-askpass 2019-11-27 08:36:53.000000000 +0000 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env tclsh # Tcl ignores the next line -*- tcl -*- \ exec wish "$0" -- "$@" diff -Nru git-cola-3.5/test/branch_test.py git-cola-3.6/test/branch_test.py --- git-cola-3.5/test/branch_test.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/test/branch_test.py 2019-11-27 08:36:53.000000000 +0000 @@ -6,103 +6,136 @@ except ImportError: from mock import MagicMock -from cola.compat import odict -from cola.widgets.branch import BranchesTreeHelper, BranchTreeWidgetItem +from cola.widgets import branch -class BranchesTreeHelperTestCase(unittest.TestCase): - """Tests the BranchesTreeHelper class.""" +class BranchesTestCase(unittest.TestCase): + """Tests related to the branches widget""" - def test_should_return_a_valid_dict_on_group_branches(self): - """Test the group_branches function.""" + def test_create_tree_entries(self): + names = [ + 'abc', + 'cat/abc', + 'cat/def', + 'xyz/xyz', + ] + root = branch.create_tree_entries(names) + self.assertEqual(3, len(root.children)) + # 'abc' + abc = root.children[0] + self.assertEqual('abc', abc.basename) + self.assertEqual('abc', abc.refname) + self.assertEqual([], abc.children) + # 'cat' + cat = root.children[1] + self.assertEqual('cat', cat.basename) + self.assertEqual(None, cat.refname) + self.assertEqual(2, len(cat.children)) + # 'cat/abc' + cat_abc = cat.children[0] + self.assertEqual('abc', cat_abc.basename) + self.assertEqual('cat/abc', cat_abc.refname) + self.assertEqual([], cat_abc.children) + # 'cat/def' + cat_def = cat.children[1] + self.assertEqual('def', cat_def.basename) + self.assertEqual('cat/def', cat_def.refname) + self.assertEqual([], cat_def.children) + # 'xyz' + xyz = root.children[2] + self.assertEqual('xyz', xyz.basename) + self.assertEqual(None, xyz.refname) + self.assertEqual(1, len(xyz.children)) + # 'xyz/xyz' + xyz_xyz = xyz.children[0] + self.assertEqual('xyz', xyz_xyz.basename) + self.assertEqual('xyz/xyz', xyz_xyz.refname) + self.assertEqual([], xyz_xyz.children) + + def test_create_name_dict(self): + """Test transforming unix path-like names into a nested dict""" branches = ['top_1/child_1/child_1_1', 'top_1/child_1/child_1_2', 'top_1/child_2/child_2_1/child_2_1_1', 'top_1/child_2/child_2_1/child_2_1_2'] - tree_helper = BranchesTreeHelper() - - result = tree_helper.group_branches(branches, '/') + result = branch.create_name_dict(branches) inner_child = {'child_2_1_2': {}, 'child_2_1_1': {}} self.assertEqual( {'top_1': { 'child_1': {'child_1_2': {}, 'child_1_1': {}}, 'child_2': {'child_2_1': inner_child}}}, result) - def test_should_create_a_valid_top_item_on_create_top_level_item(self): - """Test the create_top_level_item function.""" - dict_children = odict() - dict_children['child_1'] = {} - dict_children['child_2'] = odict() - dict_children['child_2']['child_2_1'] = {} - dict_children['child_2']['child_2_2'] = {} - tree_helper = BranchesTreeHelper() - - result = tree_helper.create_top_level_item('top', dict_children) + def test_create_toplevel_item(self): + names = [ + 'child_1', + 'child_2/child_2_1', + 'child_2/child_2_2', + ] + tree = branch.create_tree_entries(names) + tree.basename = 'top' + result = branch.create_toplevel_item(tree) self.assertEqual('top', result.name) self.assertEqual(2, result.childCount()) self.assertEqual('child_1', result.child(0).name) + self.assertEqual('child_1', result.child(0).refname) self.assertEqual('child_2', result.child(1).name) + self.assertEqual(None, result.child(1).refname) self.assertEqual(2, result.child(1).childCount()) self.assertEqual('child_2_1', result.child(1).child(0).name) self.assertEqual('child_2_2', result.child(1).child(1).name) + self.assertEqual('child_2/child_2_1', result.child(1).child(0).refname) + self.assertEqual('child_2/child_2_2', result.child(1).child(1).refname) - def test_should_return_a_valid_top_item_on_get_root(self): - """Test the get_root function.""" + def test_get_toplevel_item(self): items = _create_top_item() - tree_helper = BranchesTreeHelper() - - result = tree_helper.get_root(items['child_1']) + result = branch.get_toplevel_item(items['child_1']) self.assertTrue(items['top'] is result) - result = tree_helper.get_root(items['sub_child_2_1']) + result = branch.get_toplevel_item(items['sub_child_2_1']) self.assertTrue(items['top'] is result) - def test_should_return_a_valid_branch_name_on_get_full_name(self): - """Test the get_full_name function.""" + def test_refname_attribute(self): items = _create_top_item() - tree_helper = BranchesTreeHelper() - result = tree_helper.get_full_name(items['child_1'], '/') + result = items['child_1'].refname self.assertEqual('child_1', result) - result = tree_helper.get_full_name(items['sub_child_2_2'], '/') + result = items['sub_child_2_2'].refname self.assertEqual('child_2/sub_child_2_2', result) def test_should_return_a_valid_child_on_find_child(self): """Test the find_child function.""" items = _create_top_item() - tree_helper = BranchesTreeHelper() + child = branch.find_by_refname(items['top'], 'child_1') + self.assertEqual('child_1', child.refname) - child = tree_helper.find_child(items['top'], 'child_1') - self.assertEqual('child_1', child.name) - - child = tree_helper.find_child(items['top'], 'child_2/sub_child_2_2') + child = branch.find_by_refname(items['top'], 'child_2/sub_child_2_2') self.assertEqual('sub_child_2_2', child.name) def test_should_return_empty_state_on_save_state(self): """Test the save_state function.""" - top = _create_item('top', False) - tree_helper = BranchesTreeHelper() - + top = _create_item('top', None, False) + tree_helper = branch.BranchesTreeHelper() result = tree_helper.save_state(top) self.assertEqual({'top': {}}, result) def test_should_return_a_valid_state_on_save_state(self): """Test the save_state function.""" items = _create_top_item() - tree_helper = BranchesTreeHelper() - + tree_helper = branch.BranchesTreeHelper() result = tree_helper.save_state(items['top']) self.assertEqual({'top': {'child_1': {}, 'child_2': { 'sub_child_2_1': {}, 'sub_child_2_2': {}}}}, result) def _create_top_item(): - top = _create_item('top', True) - child_1 = _create_item('child_1', False) - child_2 = _create_item('child_2', True) - sub_child_2_1 = _create_item('sub_child_2_1', False) - sub_child_2_2 = _create_item('sub_child_2_2', False) + top = _create_item('top', None, True) + child_1 = _create_item('child_1', 'child_1', False) + child_2 = _create_item('child_2', None, True) + sub_child_2_1 = _create_item( + 'sub_child_2_1', 'child_2/sub_child_2_1', False) + sub_child_2_2 = _create_item( + 'sub_child_2_2', 'child_2/sub_child_2_2', False) child_2.addChildren([sub_child_2_1, sub_child_2_2]) top.addChildren([child_1, child_2]) @@ -111,8 +144,8 @@ 'sub_child_2_2': sub_child_2_2} -def _create_item(name, expanded): - item = BranchTreeWidgetItem(name) +def _create_item(name, refname, expanded): + item = branch.BranchTreeWidgetItem(name, refname=refname) item.isExpanded = MagicMock(return_value=expanded) return item diff -Nru git-cola-3.5/test/icons_test.py git-cola-3.6/test/icons_test.py --- git-cola-3.5/test/icons_test.py 2019-09-21 21:01:51.000000000 +0000 +++ git-cola-3.6/test/icons_test.py 2019-11-27 08:36:53.000000000 +0000 @@ -11,7 +11,7 @@ class IconTestCase(unittest.TestCase): def test_from_filename_unicode(self): - filename = compat.uchr(0x400) + '.odt' + filename = compat.uchr(0x400) + '.py' expect = 'file-code.svg' actual = icons.basename_from_filename(filename) self.assertEqual(expect, actual)