threads / patch / 9730

patchLet "stg status" ignore empty directories

Subject: [StGit PATCH] Let "stg status" ignore empty directories

## tl;dr

One message between Aug 31, 2007 and Aug 31, 2007. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Karl Hasselström· Aug 31, 2007, 19:43 UTC · lore

This was a really simple fix: just pass the right flag to git-ls-files. Since the output has a trailing \0, split() gives us an empty string at the end of the list that we have to throw away. (Curiously, there was an empty string at the end before this change too, but it disappeared somehow.)

This fixes bug 9891.
Signed-off-by: Karl Hasselström <kha@treskal.com>
---
 stgit/git.py |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
Show changes to stgit/git.py +3 −2
diff --git a/stgit/git.py b/stgit/git.py
index f315b05..8857209 100644
--- a/stgit/git.py
+++ b/stgit/git.py
@@ -181,7 +181,8 @@ def tree_status(files = None, tree_id = 'HEAD', unknown = False,
 
     # unknown files
     if unknown:
-        cmd = ['git-ls-files', '-z', '--others', '--directory']
+        cmd = ['git-ls-files', '-z', '--others', '--directory',
+               '--no-empty-directory']
         if not noexclude:
             cmd += ['--exclude=%s' % s for s in
                     ['*.[ao]', '*.pyc', '.*', '*~', '#*', 'TAGS', 'tags']]
@@ -191,7 +192,7 @@ def tree_status(files = None, tree_id = 'HEAD', unknown = False,
                     if os.path.exists(fn)]
 
         lines = GRun(*cmd).raw_output().split('\0')
-        cache_files += [('?', line) for line in lines]
+        cache_files += [('?', line) for line in lines if line]
 
     # conflicted files
     conflicts = get_conflicts()

← back to recent threads