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

Commita56136f

Browse files
authored
Merge branch 'master' into adding_setup_for_git_executable
2 parents90dc03d +2af601d commita56136f

File tree

14 files changed

+109
-70
lines changed

14 files changed

+109
-70
lines changed

‎AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@ Contributors are:
2020
-Konstantin Popov <konstantin.popov.89 _at_ yandex.ru>
2121
-Peter Jones <pjones _at_ redhat.com>
2222
-Ken Odegard <ken.odegard _at_ gmail.com>
23+
-Alexis Horgix Chotard
2324

2425
Portions derived from other open source works and are clearly marked.

‎Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ release: clean
1414

1515
force_release: clean
1616
git push --tags
17-
python setup.py sdist bdist_wheel
17+
python3 setup.py sdist bdist_wheel
1818
twine upload -s -i byronimo@gmail.com dist/*

‎VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.1.5
1+
2.1.6

‎git/__init__.py

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,23 +35,26 @@ def _init_externals():
3535

3636
#{ Imports
3737

38-
fromgit.configimportGitConfigParser# @NoMove @IgnorePep8
39-
fromgit.objectsimport*# @NoMove @IgnorePep8
40-
fromgit.refsimport*# @NoMove @IgnorePep8
41-
fromgit.diffimport*# @NoMove @IgnorePep8
42-
fromgit.excimport*# @NoMove @IgnorePep8
43-
fromgit.dbimport*# @NoMove @IgnorePep8
44-
fromgit.cmdimportGit# @NoMove @IgnorePep8
45-
fromgit.repoimportRepo# @NoMove @IgnorePep8
46-
fromgit.remoteimport*# @NoMove @IgnorePep8
47-
fromgit.indeximport*# @NoMove @IgnorePep8
48-
fromgit.utilimport (# @NoMove @IgnorePep8
49-
LockFile,
50-
BlockingLockFile,
51-
Stats,
52-
Actor,
53-
rmtree,
54-
)
38+
fromgit.excimport*# @NoMove @IgnorePep8
39+
try:
40+
fromgit.configimportGitConfigParser# @NoMove @IgnorePep8
41+
fromgit.objectsimport*# @NoMove @IgnorePep8
42+
fromgit.refsimport*# @NoMove @IgnorePep8
43+
fromgit.diffimport*# @NoMove @IgnorePep8
44+
fromgit.dbimport*# @NoMove @IgnorePep8
45+
fromgit.cmdimportGit# @NoMove @IgnorePep8
46+
fromgit.repoimportRepo# @NoMove @IgnorePep8
47+
fromgit.remoteimport*# @NoMove @IgnorePep8
48+
fromgit.indeximport*# @NoMove @IgnorePep8
49+
fromgit.utilimport (# @NoMove @IgnorePep8
50+
LockFile,
51+
BlockingLockFile,
52+
Stats,
53+
Actor,
54+
rmtree,
55+
)
56+
exceptGitErrorasexc:
57+
raiseImportError('%s: %s'% (exc.__class__.__name__,exc))
5558

5659
#} END imports
5760

‎git/cmd.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
)
3333
fromgit.excimportCommandError
3434
fromgit.odictimportOrderedDict
35-
fromgit.utilimportis_cygwin_git,cygpath
35+
fromgit.utilimportis_cygwin_git,cygpath,expand_path
3636

3737
from .excimport (
3838
GitCommandError,
@@ -531,7 +531,7 @@ def __init__(self, working_dir=None):
531531
It is meant to be the working tree directory if available, or the
532532
.git directory in case of bare repositories."""
533533
super(Git,self).__init__()
534-
self._working_dir=working_dir
534+
self._working_dir=expand_path(working_dir)
535535
self._git_options= ()
536536
self._persistent_git_options= []
537537

‎git/objects/submodule/base.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,12 @@ def _set_cache_(self, attr):
123123
reader=self.config_reader()
124124
# default submodule values
125125
try:
126-
self.path=reader.get_value('path')
126+
self.path=reader.get('path')
127127
exceptcp.NoSectionError:
128128
raiseValueError("This submodule instance does not exist anymore in '%s' file"
129129
%osp.join(self.repo.working_tree_dir,'.gitmodules'))
130130
# end
131-
self._url=reader.get_value('url')
131+
self._url=reader.get('url')
132132
# git-python extension values - optional
133133
self._branch_path=reader.get_value(self.k_head_option,git.Head.to_full_path(self.k_head_default))
134134
elifattr=='_name':
@@ -1168,11 +1168,11 @@ def iter_items(cls, repo, parent_commit='HEAD'):
11681168

11691169
forsmsinparser.sections():
11701170
n=sm_name(sms)
1171-
p=parser.get_value(sms,'path')
1172-
u=parser.get_value(sms,'url')
1171+
p=parser.get(sms,'path')
1172+
u=parser.get(sms,'url')
11731173
b=cls.k_head_default
11741174
ifparser.has_option(sms,cls.k_head_option):
1175-
b=str(parser.get_value(sms,cls.k_head_option))
1175+
b=str(parser.get(sms,cls.k_head_option))
11761176
# END handle optional information
11771177

11781178
# get the binsha

‎git/refs/remote.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ def delete(cls, repo, *refs, **kwargs):
3636
# are generally ignored in the refs/ folder. We don't though
3737
# and delete remainders manually
3838
forrefinrefs:
39+
try:
40+
os.remove(osp.join(repo.common_dir,ref.path))
41+
exceptOSError:
42+
pass
3943
try:
4044
os.remove(osp.join(repo.git_dir,ref.path))
4145
exceptOSError:

‎git/refs/symbolic.py

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@
2626
__all__= ["SymbolicReference"]
2727

2828

29+
def_git_dir(repo,path):
30+
""" Find the git dir that's appropriate for the path"""
31+
name="%s"% (path,)
32+
ifnamein ['HEAD','ORIG_HEAD','FETCH_HEAD','index','logs']:
33+
returnrepo.git_dir
34+
returnrepo.common_dir
35+
36+
2937
classSymbolicReference(object):
3038

3139
"""Represents a special case of a reference such that this reference is symbolic.
@@ -71,16 +79,11 @@ def name(self):
7179

7280
@property
7381
defabspath(self):
74-
returnjoin_path_native(self.repo.git_dir,self.path)
82+
returnjoin_path_native(_git_dir(self.repo,self.path),self.path)
7583

7684
@classmethod
7785
def_get_packed_refs_path(cls,repo):
78-
try:
79-
commondir=open(osp.join(repo.git_dir,'commondir'),'rt').readlines()[0].strip()
80-
except (OSError,IOError):
81-
commondir='.'
82-
repodir=osp.join(repo.git_dir,commondir)
83-
returnosp.join(repodir,'packed-refs')
86+
returnosp.join(repo.common_dir,'packed-refs')
8487

8588
@classmethod
8689
def_iter_packed_refs(cls,repo):
@@ -127,11 +130,12 @@ def dereference_recursive(cls, repo, ref_path):
127130
# END recursive dereferencing
128131

129132
@classmethod
130-
def_get_ref_info_helper(cls,repo,repodir,ref_path):
133+
def_get_ref_info_helper(cls,repo,ref_path):
131134
"""Return: (str(sha), str(target_ref_path)) if available, the sha the file at
132135
rela_path points to, or None. target_ref_path is the reference we
133136
point to, or None"""
134137
tokens=None
138+
repodir=_git_dir(repo,ref_path)
135139
try:
136140
withopen(osp.join(repodir,ref_path),'rt')asfp:
137141
value=fp.read().rstrip()
@@ -169,16 +173,7 @@ def _get_ref_info(cls, repo, ref_path):
169173
"""Return: (str(sha), str(target_ref_path)) if available, the sha the file at
170174
rela_path points to, or None. target_ref_path is the reference we
171175
point to, or None"""
172-
try:
173-
returncls._get_ref_info_helper(repo,repo.git_dir,ref_path)
174-
exceptValueError:
175-
try:
176-
commondir=open(osp.join(repo.git_dir,'commondir'),'rt').readlines()[0].strip()
177-
except (OSError,IOError):
178-
commondir='.'
179-
180-
repodir=osp.join(repo.git_dir,commondir)
181-
returncls._get_ref_info_helper(repo,repodir,ref_path)
176+
returncls._get_ref_info_helper(repo,ref_path)
182177

183178
def_get_object(self):
184179
"""
@@ -433,7 +428,7 @@ def delete(cls, repo, path):
433428
or just "myreference", hence 'refs/' is implied.
434429
Alternatively the symbolic reference to be deleted"""
435430
full_ref_path=cls.to_full_path(path)
436-
abs_path=osp.join(repo.git_dir,full_ref_path)
431+
abs_path=osp.join(repo.common_dir,full_ref_path)
437432
ifosp.exists(abs_path):
438433
os.remove(abs_path)
439434
else:
@@ -484,8 +479,9 @@ def _create(cls, repo, path, resolve, reference, force, logmsg=None):
484479
a proper symbolic reference. Otherwise it will be resolved to the
485480
corresponding object and a detached symbolic reference will be created
486481
instead"""
482+
git_dir=_git_dir(repo,path)
487483
full_ref_path=cls.to_full_path(path)
488-
abs_ref_path=osp.join(repo.git_dir,full_ref_path)
484+
abs_ref_path=osp.join(git_dir,full_ref_path)
489485

490486
# figure out target data
491487
target=reference
@@ -559,8 +555,8 @@ def rename(self, new_path, force=False):
559555
ifself.path==new_path:
560556
returnself
561557

562-
new_abs_path=osp.join(self.repo.git_dir,new_path)
563-
cur_abs_path=osp.join(self.repo.git_dir,self.path)
558+
new_abs_path=osp.join(_git_dir(self.repo,new_path),new_path)
559+
cur_abs_path=osp.join(_git_dir(self.repo,self.path),self.path)
564560
ifosp.isfile(new_abs_path):
565561
ifnotforce:
566562
# if they point to the same file, its not an error
@@ -594,7 +590,7 @@ def _iter_items(cls, repo, common_path=None):
594590

595591
# walk loose refs
596592
# Currently we do not follow links
597-
forroot,dirs,filesinos.walk(join_path_native(repo.git_dir,common_path)):
593+
forroot,dirs,filesinos.walk(join_path_native(repo.common_dir,common_path)):
598594
if'refs'notinroot.split(os.sep):# skip non-refs subfolders
599595
refs_id= [dfordindirsifd=='refs']
600596
ifrefs_id:
@@ -605,7 +601,7 @@ def _iter_items(cls, repo, common_path=None):
605601
iff=='packed-refs':
606602
continue
607603
abs_path=to_native_path_linux(join_path(root,f))
608-
rela_paths.add(abs_path.replace(to_native_path_linux(repo.git_dir)+'/',""))
604+
rela_paths.add(abs_path.replace(to_native_path_linux(repo.common_dir)+'/',""))
609605
# END for each file in root directory
610606
# END for each directory to walk
611607

‎git/remote.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838

3939

4040
log=logging.getLogger('git.remote')
41+
log.addHandler(logging.NullHandler())
4142

4243

4344
__all__= ('RemoteProgress','PushInfo','FetchInfo','Remote')
@@ -208,7 +209,7 @@ class FetchInfo(object):
208209
NEW_TAG,NEW_HEAD,HEAD_UPTODATE,TAG_UPDATE,REJECTED,FORCED_UPDATE, \
209210
FAST_FORWARD,ERROR= [1<<xforxinrange(8)]
210211

211-
re_fetch_result=re.compile(r'^\s*(.) (\[?[\w\s\.$@]+\]?)\s+(.+) -> ([^\s]+)( \(.*\)?$)?')
212+
_re_fetch_result=re.compile(r'^\s*(.) (\[?[\w\s\.$@]+\]?)\s+(.+) -> ([^\s]+)( \(.*\)?$)?')
212213

213214
_flag_map= {
214215
'!':ERROR,
@@ -284,7 +285,7 @@ def _from_line(cls, repo, line, fetch_line):
284285
285286
fetch line is the corresponding line from FETCH_HEAD, like
286287
acb0fa8b94ef421ad60c8507b634759a472cd56c not-for-merge branch '0.1.7RC' of /tmp/tmpya0vairemote_repo"""
287-
match=cls.re_fetch_result.match(line)
288+
match=cls._re_fetch_result.match(line)
288289
ifmatchisNone:
289290
raiseValueError("Failed to parse line: %r"%line)
290291

@@ -673,7 +674,7 @@ def _get_fetch_info_from_stderr(self, proc, progress):
673674
continue
674675

675676
# read head information
676-
withopen(osp.join(self.repo.git_dir,'FETCH_HEAD'),'rb')asfp:
677+
withopen(osp.join(self.repo.common_dir,'FETCH_HEAD'),'rb')asfp:
677678
fetch_head_info= [l.decode(defenc)forlinfp.readlines()]
678679

679680
l_fil=len(fetch_info_lines)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp