Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

open func support "utf-8"#641

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions.gitignore
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,3 +14,4 @@ nbproject
.DS_Store
/*egg-info
/.tox
.idea/
59 changes: 28 additions & 31 deletionsgit/refs/symbolic.py
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -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,
Expand All@@ -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"]


Expand All@@ -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.
Expand DownExpand Up@@ -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:
withcodecs.open(cls._get_packed_refs_path(repo), 'rt', encoding="utf-8") as fp:
for line in fp:
line = line.strip()
if not line:
Expand All@@ -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):
Expand All@@ -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):
Expand All@@ -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:
withcodecs.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
Expand All@@ -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)
Expand DownExpand Up@@ -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:
Expand DownExpand Up@@ -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
Expand All@@ -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
Expand DownExpand Up@@ -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):
Expand DownExpand Up@@ -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
Expand DownExpand Up@@ -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
Expand All@@ -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):
Expand DownExpand Up@@ -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)

Expand Down
18 changes: 9 additions & 9 deletionsgit/repo/fun.py
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -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')
Expand DownExpand Up@@ -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
Expand All@@ -73,7 +73,7 @@ def find_submodule_git_dir(d):
return d

try:
with open(d) as fp:
withcodecs.open(d, encoding="utf-8") as fp:
content = fp.read().rstrip()
except (IOError, OSError):
# it's probably not a file
Expand Down

[8]ページ先頭

©2009-2025 Movatter.jp