diff --git a/.gitignore b/.gitignore index d35cddebd..b3bc93624 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ nbproject .DS_Store /*egg-info /.tox +.idea/ \ No newline at end of file diff --git a/git/refs/symbolic.py b/git/refs/symbolic.py index bef6ba3ce..53e987a72 100644 --- a/git/refs/symbolic.py +++ b/git/refs/symbolic.py @@ -1,4 +1,10 @@ import os +import os.path as osp +import codecs +from gitdb.exc import ( + BadObject, + BadName +) from git.compat import ( string_types, @@ -13,16 +19,8 @@ hex_to_bin, LockedFD ) -from gitdb.exc import ( - BadObject, - BadName -) - -import os.path as osp - from .log import RefLog - __all__ = ["SymbolicReference"] @@ -35,7 +33,6 @@ def _git_dir(repo, path): class SymbolicReference(object): - """Represents a special case of a reference such that this reference is symbolic. It does not point to a specific commit, but to another Head, which itself specifies a commit. @@ -90,7 +87,7 @@ def _iter_packed_refs(cls, repo): """Returns an iterator yielding pairs of sha1/path pairs (as bytes) for the corresponding refs. :note: The packed refs file will be kept open as long as we iterate""" try: - with open(cls._get_packed_refs_path(repo), 'rt') as fp: + with codecs.open(cls._get_packed_refs_path(repo), 'rt', encoding="utf-8") as fp: for line in fp: line = line.strip() if not line: @@ -108,14 +105,14 @@ def _iter_packed_refs(cls, repo): continue yield tuple(line.split(' ', 1)) - # END for each line + # END for each line except (OSError, IOError): return - # END no packed-refs file handling - # NOTE: Had try-finally block around here to close the fp, - # but some python version wouldn't allow yields within that. - # I believe files are closing themselves on destruction, so it is - # alright. + # END no packed-refs file handling + # NOTE: Had try-finally block around here to close the fp, + # but some python version wouldn't allow yields within that. + # I believe files are closing themselves on destruction, so it is + # alright. @classmethod def dereference_recursive(cls, repo, ref_path): @@ -127,7 +124,7 @@ def dereference_recursive(cls, repo, ref_path): hexsha, ref_path = cls._get_ref_info(repo, ref_path) if hexsha is not None: return hexsha - # END recursive dereferencing + # END recursive dereferencing @classmethod def _get_ref_info_helper(cls, repo, ref_path): @@ -137,12 +134,12 @@ def _get_ref_info_helper(cls, repo, ref_path): tokens = None repodir = _git_dir(repo, ref_path) try: - with open(osp.join(repodir, ref_path), 'rt') as fp: + with codecs.open(osp.join(repodir, ref_path), 'rt', encoding="utf-8") as fp: value = fp.read().rstrip() # Don't only split on spaces, but on whitespace, which allows to parse lines like # 60b64ef992065e2600bfef6187a97f92398a9144 branch 'master' of git-server:/path/to/repo tokens = value.split() - assert(len(tokens) != 0) + assert (len(tokens) != 0) except (OSError, IOError): # Probably we are just packed, find our entry in the packed refs file # NOTE: We are not a symbolic ref if we are in a packed file, as these @@ -153,7 +150,7 @@ def _get_ref_info_helper(cls, repo, ref_path): # sha will be used tokens = sha, path break - # END for each packed ref + # END for each packed ref # END handle packed refs if tokens is None: raise ValueError("Reference at %r does not exist" % ref_path) @@ -216,7 +213,7 @@ def set_commit(self, commit, logmsg=None): invalid_type = self.repo.rev_parse(commit).type != Commit.type except (BadObject, BadName): raise ValueError("Invalid object: %s" % commit) - # END handle exception + # END handle exception # END verify type if invalid_type: @@ -294,11 +291,11 @@ def set_reference(self, ref, logmsg=None): write_value = ref.hexsha elif isinstance(ref, string_types): try: - obj = self.repo.rev_parse(ref + "^{}") # optionally deref tags + obj = self.repo.rev_parse(ref + "^{}") # optionally deref tags write_value = obj.hexsha except (BadObject, BadName): raise ValueError("Could not extract object from %s" % ref) - # END end try string + # END end try string else: raise ValueError("Unrecognized Value: %r" % ref) # END try commit attribute @@ -314,7 +311,7 @@ def set_reference(self, ref, logmsg=None): oldbinsha = self.commit.binsha except ValueError: oldbinsha = Commit.NULL_BIN_SHA - # END handle non-existing + # END handle non-existing # END retrieve old hexsha fpath = self.abspath @@ -470,7 +467,7 @@ def delete(cls, repo, path): reflog_path = RefLog.path(cls(repo, full_ref_path)) if osp.isfile(reflog_path): os.remove(reflog_path) - # END remove reflog + # END remove reflog @classmethod def _create(cls, repo, path, resolve, reference, force, logmsg=None): @@ -566,8 +563,8 @@ def rename(self, new_path, force=False): f2 = fd2.read().strip() if f1 != f2: raise OSError("File at path %r already exists" % new_abs_path) - # else: we could remove ourselves and use the otherone, but - # but clarity we just continue as usual + # else: we could remove ourselves and use the otherone, but + # but clarity we just continue as usual # END not force handling os.remove(new_abs_path) # END handle existing target file @@ -602,14 +599,14 @@ def _iter_items(cls, repo, common_path=None): continue abs_path = to_native_path_linux(join_path(root, f)) rela_paths.add(abs_path.replace(to_native_path_linux(repo.common_dir) + '/', "")) - # END for each file in root directory + # END for each file in root directory # END for each directory to walk # read packed refs for sha, rela_path in cls._iter_packed_refs(repo): # @UnusedVariable if rela_path.startswith(common_path): rela_paths.add(rela_path) - # END relative path matches common path + # END relative path matches common path # END packed refs reading # return paths in sorted order @@ -618,7 +615,7 @@ def _iter_items(cls, repo, common_path=None): yield cls.from_path(repo, path) except ValueError: continue - # END for each sorted relative refpath + # END for each sorted relative refpath @classmethod def iter_items(cls, repo, common_path=None): @@ -662,7 +659,7 @@ def from_path(cls, repo, path): return instance except ValueError: pass - # END exception handling + # END exception handling # END for each type to try raise ValueError("Could not find reference type suitable to handle path %r" % path) diff --git a/git/repo/fun.py b/git/repo/fun.py index 6aefd9d66..21f1ec00c 100644 --- a/git/repo/fun.py +++ b/git/repo/fun.py @@ -1,21 +1,21 @@ """Package with general repository related functions""" +import codecs import os +import os.path as osp import stat from string import digits -from git.compat import xrange -from git.exc import WorkTreeRepositoryUnsupported -from git.objects import Object -from git.refs import SymbolicReference -from git.util import hex_to_bin, bin_to_hex, decygpath from gitdb.exc import ( BadObject, BadName, ) -import os.path as osp from git.cmd import Git - +from git.compat import xrange +from git.exc import WorkTreeRepositoryUnsupported +from git.objects import Object +from git.refs import SymbolicReference +from git.util import hex_to_bin, bin_to_hex, decygpath __all__ = ('rev_parse', 'is_git_dir', 'touch', 'find_submodule_git_dir', 'name_to_object', 'short_to_long', 'deref_tag', 'to_commit', 'find_worktree_git_dir') @@ -58,7 +58,7 @@ def find_worktree_git_dir(dotgit): return None try: - lines = open(dotgit, 'r').readlines() + lines = codecs.open(dotgit, 'r', encoding="utf-8").readlines() for key, value in [line.strip().split(': ') for line in lines]: if key == 'gitdir': return value @@ -73,7 +73,7 @@ def find_submodule_git_dir(d): return d try: - with open(d) as fp: + with codecs.open(d, encoding="utf-8") as fp: content = fp.read().rstrip() except (IOError, OSError): # it's probably not a file pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy