diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2017-09-28 15:44:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-28 15:44:55 +0200 |
commit | 2e482a20ab221cb6eca51f12f1bd29cda4eec484 (patch) | |
tree | 1e07af3b22ba20b59dadd4a5b8008a3217c40bb5 /git/remote.py | |
parent | 58998fb2dd6a1cad5faffdc36ae536ee6b04e3d2 (diff) | |
parent | 2eb6cf0855232da2b8f37785677d1f58c8e86817 (diff) | |
download | gitpython-2e482a20ab221cb6eca51f12f1bd29cda4eec484.tar.gz |
Merge branch 'master' into master
Diffstat (limited to 'git/remote.py')
-rw-r--r-- | git/remote.py | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/git/remote.py b/git/remote.py index 81719f4b..7261be81 100644 --- a/git/remote.py +++ b/git/remote.py @@ -211,17 +211,38 @@ class FetchInfo(object): _re_fetch_result = re.compile(r'^\s*(.) (\[?[\w\s\.$@]+\]?)\s+(.+) -> ([^\s]+)( \(.*\)?$)?') - _flag_map = {'!': ERROR, - '+': FORCED_UPDATE, - '*': 0, - '=': HEAD_UPTODATE, - ' ': FAST_FORWARD} + _flag_map = { + '!': ERROR, + '+': FORCED_UPDATE, + '*': 0, + '=': HEAD_UPTODATE, + ' ': FAST_FORWARD, + '-': TAG_UPDATE, + } - v = Git().version_info[:2] - if v >= (2, 10): - _flag_map['t'] = TAG_UPDATE - else: - _flag_map['-'] = TAG_UPDATE + @classmethod + def refresh(cls): + """This gets called by the refresh function (see the top level + __init__). + """ + # clear the old values in _flag_map + try: + del cls._flag_map["t"] + except KeyError: + pass + + try: + del cls._flag_map["-"] + except KeyError: + pass + + # set the value given the git version + if Git().version_info[:2] >= (2, 10): + cls._flag_map["t"] = cls.TAG_UPDATE + else: + cls._flag_map["-"] = cls.TAG_UPDATE + + return True def __init__(self, ref, flags, note='', old_commit=None, remote_ref_path=None): """ |