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

Add way to get only topmost untracked folders/files#1150

AnsweredbyBeayemX
BeayemX asked this question inQ&A
Discussion options

Let's say I have a new folder with three new files in it.

When I usegit status it will show like this:

MyProject/New Folder/

But when I use GitPython'srepo.untracked_files it will show like this:

MyProject/New Folder/file_a.txtMyProject/New Folder/file_b.txtMyProject/New Folder/file_c.txt

Is there a way to get the same result as thegit status version?

You must be logged in to vote

Hello, thanks for the response.

For the time being I Implemented a workaround that calls git directly.
I am not sure if this is useful for you, but here is the code:

import subprocesscommand = ["git", "ls-files", "--others", "--directory", "--exclude-standard", "--no-empty-directory"]process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)untracked_files_and_folders = [u.decode().strip() for u in process.stdout]

Replies: 2 comments 1 reply

Comment options

Byron
Mar 8, 2020
Maintainer

Indeed it would be nice to have additional options to make GitPython more like 'porcelain', and less like the 'plumbing' it was intended to be.

The recommended action is to transform the returned set of untracked files into the form that Git provides. This algorithm could potentially be donated back to GitPython, which supports it using an additional function, maybe along the line ofrepo.status.

Thanks for understanding that GitPython is in maintenance mode and thus is hesitant to take on feature requests unless they are accompanied by a PR implementing them.

Please feel free to comment on the closed issue if there are any follow-up questions.

You must be logged in to vote
0 replies
Comment options

Hello, thanks for the response.

For the time being I Implemented a workaround that calls git directly.
I am not sure if this is useful for you, but here is the code:

import subprocesscommand = ["git", "ls-files", "--others", "--directory", "--exclude-standard", "--no-empty-directory"]process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)untracked_files_and_folders = [u.decode().strip() for u in process.stdout]
You must be logged in to vote
1 reply
@Anton-V-K
Comment options

repo.git.ls_files("--others", "--directory", "--exclude-standard", "--no-empty-directory") may also help same way

Answer selected byByron
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Category
Q&A
Labels
None yet
3 participants
@BeayemX@Byron@Anton-V-K
Converted from issue

This discussion was converted from issue #996 on February 26, 2021 11:18.


[8]ページ先頭

©2009-2025 Movatter.jp