Skip to content

Commit fd6bc67

Browse files
committed
When core.ignoreCase, check for untracked files case-insensitively
1 parent c7532e8 commit fd6bc67

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

lib/git/status.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,11 @@ def untracked
108108
# untracked?('lib/git.rb')
109109
# @return [Boolean]
110110
def untracked?(file)
111-
untracked.member?(file)
111+
if ignore_case?
112+
untracked.keys.map(&:downcase).include?(file.downcase)
113+
else
114+
untracked.member?(file)
115+
end
112116
end
113117

114118
def pretty

tests/units/test_status.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,13 +207,18 @@ def test_untracked_from_subdir
207207
def test_untracked_boolean
208208
in_temp_dir do |path|
209209
git = Git.clone(@wdir, 'test_dot_files_status')
210+
git.config('core.ignorecase', 'false')
210211

211212
create_file('test_dot_files_status/test_file_1', 'content tets_file_1')
212213
create_file('test_dot_files_status/test_file_2', 'content tets_file_2')
213214
git.add('test_file_2')
214215

215216
assert(git.status.untracked?('test_file_1'))
216217
assert(!git.status.untracked?('test_file_2'))
218+
assert(!git.status.untracked?('TEST_FILE_1'))
219+
220+
git.config('core.ignorecase', 'true')
221+
assert(git.status.untracked?('TEST_FILE_1'))
217222
end
218223
end
219224

0 commit comments

Comments
 (0)