nuget: should I commit the entire content of packages folder?

I started using nuget and installed some packages, most of them have about 200 KB max but NUnit has 3MB.

My solution is open-source and it is downloaded by lots of people, I'm just thinking: should I commit the entire packages folder as is or ignore non dll files

how do you guys do ?


Solution 1:

NuGet now has the ability for you to re-download the missing packages as a pre-build step, meaning that you only need to commit your packages.config file (and include nuget.exe in a tools folder).

Read Using NuGet Without Committing Packages to Source Control for more details.

Solution 2:

Personally I'd include the entire packages folder. There's nothing worse than getting an open-source project then having to hunt down the dll's needed to run it.

You could just include the .nupkg files and get the user to run update-package but then you are assuming they have nuget install and remember to run it.

I think its much quicker to get going of the open-source project has everything from the get go.

Solution 3:

To echo what Simon said -- it is 2010. Bandwidth and storage are cheap on that scale. The convenience of having the packages with the source beats the hell out of the savings.