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

Commit11e0a94

Browse files
committed
Merge pull request#158 from maxyz/0.3
Fix for untracked_files no longer detected#138
2 parentsd6192ad +4a023ac commit11e0a94

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

‎git/repo/base.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -513,35 +513,33 @@ def is_dirty(self, index=True, working_tree=True, untracked_files=False):
513513
returnTrue
514514
# END untracked files
515515
returnFalse
516-
516+
517517
@property
518518
defuntracked_files(self):
519519
"""
520520
:return:
521521
list(str,...)
522-
523-
Files currently untracked as they have not been staged yet. Paths
522+
523+
Files currently untracked as they have not been staged yet. Paths
524524
are relative to the current working directory of the git command.
525-
525+
526526
:note:
527527
ignored files will not appear here, i.e. files mentioned in .gitignore"""
528528
# make sure we get all files, no only untracked directores
529-
proc=self.git.status(untracked_files=True,as_process=True)
530-
stream=iter(proc.stdout)
529+
proc=self.git.status(porcelain=True,
530+
untracked_files=True,
531+
as_process=True)
532+
# Untracked files preffix in porcelain mode
533+
prefix="?? "
531534
untracked_files=list()
532-
forlineinstream:
533-
ifnotline.startswith("# Untracked files:"):
535+
forlineinproc.stdout:
536+
ifnotline.startswith(prefix):
534537
continue
535-
# skip two lines
536-
stream.next()
537-
stream.next()
538-
539-
foruntracked_infoinstream:
540-
ifnotuntracked_info.startswith("#\t"):
541-
break
542-
untracked_files.append(untracked_info.replace("#\t","").rstrip())
543-
# END for each utracked info line
544-
# END for each line
538+
filename=line[len(preffix):].rstrip('\n')
539+
# Special characters are escaped
540+
iffilename[0]==filename[-1]=='"':
541+
filename=filename[1:-1].decode('string_escape')
542+
untracked_files.append(filename)
545543
returnuntracked_files
546544

547545
@property

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp