Skip to content
This repository has been archived by the owner on Apr 14, 2021. It is now read-only.

Big gems from git hang during every install doing... something #2846

Closed
indirect opened this issue Jan 28, 2014 · 6 comments
Closed

Big gems from git hang during every install doing... something #2846

indirect opened this issue Jan 28, 2014 · 6 comments

Comments

@indirect
Copy link
Member

No description provided.

@narutosanjiv
Copy link
Contributor

@indirect Any progress or idea which can help?

@indirect
Copy link
Member Author

indirect commented May 6, 2014

Turns out it's not TarWriter, it's checking every single gem file to see if it's a directory. Fixable with this patch to path.rb:

        spec.files = spec.files.map do |p|
+         next unless p.start_with?("/")
          next if File.directory?(p)

@indirect indirect changed the title Big gems from git hang during every install doing... something with TarWriter :( Big gems from git hang during every install doing... something May 6, 2014
@segiddins
Copy link
Member

@indirect have any recollection what a repro case for this was?

@indirect
Copy link
Member Author

Sadly it was all private git repos. :/ The one I ran into contained 10,000 text files in various directories, and took forever. Something like 10s every time you ran bundle install, even though it was already installed.

@bf4
Copy link

bf4 commented May 28, 2015

fwiw, ref thoughtbot/suspenders#497 always be bundle check || bundle install

@bf4
Copy link

bf4 commented May 29, 2015

possibility, recursively shelling out to git in all dependencies? ... a la #1043 (comment) and http://tenderlovemaking.com/2011/12/05/profiling-rails-startup-with-dtrace.html

homu added a commit that referenced this issue Mar 30, 2016
[Path] Speed up bin generation when there are many files

Closes #2846, I presume.

\c @indirect
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants