From 8fb1725ab44bca819b26edb4fd6f3adf26252f60 Mon Sep 17 00:00:00 2001
From: Jerome Reybert <jreybert@gmail.com>
Date: Fri, 23 Oct 2015 21:26:26 +0200
Subject: [PATCH] autoload/magit/state.vim: fix hidden file listing in new
 directories

---
 autoload/magit/state.vim | 2 +-
 autoload/magit/utils.vim | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/autoload/magit/state.vim b/autoload/magit/state.vim
index 6254807..8781329 100644
--- a/autoload/magit/state.vim
+++ b/autoload/magit/state.vim
@@ -153,7 +153,7 @@ function! magit#state#add_file(mode, status, filename, depth) dict
 	elseif ( a:status == '?' && isdirectory(a:filename) == 1 )
 		let file.status = 'N'
 		let file.dir = 1
-		for subfile in split(globpath(a:filename, '\(.[^.]*\|*\)'), '\n')
+		for subfile in magit#utils#ls_all(a:filename)
 			call self.add_file(a:mode, a:status, subfile, a:depth + 1)
 		endfor
 	elseif ( a:status == '?' && getfsize(a:filename) == 0 )
diff --git a/autoload/magit/utils.vim b/autoload/magit/utils.vim
index b9e4cde..a8ec6ef 100644
--- a/autoload/magit/utils.vim
+++ b/autoload/magit/utils.vim
@@ -40,6 +40,13 @@ function! magit#utils#is_binary(filename)
 				\ a:filename . ".*charset=binary") != -1 )
 endfunction
 
+" magit#utils#ls_all: list all files (including hidden ones) in a given path
+" return : list of filenames
+function! magit#utils#ls_all(path)
+	return split(globpath(a:path, '.[^.]*', 1) . "\n" .
+				\ globpath(a:path, '*', 1), '\n')
+endfunction
+
 let s:submodule_list = []
 " magit#utils#refresh_submodule_list: this function refresh the List s:submodule_list
 " magit#utils#is_submodule() is using s:submodule_list
-- 
GitLab