GitLS.files

Parses the .git/index file like git ls-files does.

  • for small repos (as in, anything smaller than rails), it can be significantly faster than doing the system call to git
  • still takes less than half a second for large repos e.g. the linux repo
  • doesn't require git to be installed

Installation

Add this line to your application's Gemfile:

gem 'git_ls'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install git_ls

Usage

GitLS.files returns an array of filenames, equivalent to `git ls-files -z`.split("\0") GitLS.files("path/to/repo") if the repo is not $PWD.

Issues

  • Doesn't work for git version 4 files at all
  • Doesn't understand split index files at all
  • Has only 1 test

Development

Have a look in the bin dir for some useful tools. To install this gem onto your local machine, run bundle exec rake install.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/robotdana/git_ls. If you're comfortable, please attach .git/index and the output of git ls-files where it doesn't match.

License

The gem is available as open source under the terms of the MIT License.

git_ls