diff --git a/lib/git/base.rb b/lib/git/base.rb index 342796e2..5ad8906a 100644 --- a/lib/git/base.rb +++ b/lib/git/base.rb @@ -426,8 +426,8 @@ def update_ref(branch, commit) end - def ls_files - self.lib.ls_files + def ls_files(location=nil) + self.lib.ls_files(location) end def with_working(work_dir) # :yields: the Git::WorkingDirectory diff --git a/lib/git/lib.rb b/lib/git/lib.rb index fc5ab61c..52fb2e6c 100644 --- a/lib/git/lib.rb +++ b/lib/git/lib.rb @@ -293,9 +293,9 @@ def diff_index(treeish) hsh end - def ls_files + def ls_files(location=nil) hsh = {} - command_lines('ls-files', '--stage').each do |line| + command_lines('ls-files', ['--stage', location]).each do |line| (info, file) = line.split("\t") (mode, sha, stage) = info.split file = eval(file) if file =~ /^\".*\"$/ # This takes care of quoted strings returned from git