NuGet and distributed version control (DVCS)

GitVersion ControlDvcsNuget

Git Problem Overview


I wonder if it is possible to use nuget to only store references to the required packages in version control (only the package.config and ignore the packages folder).

Is there a way to tell nuget to (re)download all the referenced packages in the various package.config files? Or something similar which could be put into a build script.

Update:

Seems that I'm not the only one who requested this feature: See this work item (thanks to PHeiberg for the hint)

Update 2:

NuGet now has this feature builtin. See Using NuGet without committing packages to source control for details. All left is to add the packages directory to .gitignore or some equivalent of your VCS (/packages/ will do the trick if you have it in the root of your repository and are using git).

Git Solutions


Solution 1 - Git

Solution 2 - Git

I don't know about your first question.

As for having a CI server automatically update the packages, it's doable in theory. You could chain the "List-Package -Installed" and the "Update-Package" commands and have each package updated to the latest version. See the command reference for further details.

Scott Guthrie says this on the topic:

> "You can integrate the command-line > option with a CI solution and do an > update-package command explicitly as > part of your build/CI process to pull > down updates. Frankly I'm not sure > that makes sense for the scenarios we > are talking about, though, as > typically you want some dev to decide > before updating a core runtime > dependency to a new version. NuPack's > default model would have a developer > use NuPack to install a library - and > NuPack would automatically check in > the package and dependencies to source > control. That way another dev (or the > CI server) wouldn't need to use NuPack > again - they could just sync their > source and build. But as I mentioned > earlier - if you wanted to explicitly > do an update as part of your CI > process you could."

Edit:

After your comment I see what you're trying to achieve. I found this long thread in the NuPack discussions list about the issue. A solution will apparently not be part of v1. A custom build task in the CI of your choice and a config in your repo for it is the only solution I see. Please report back with your findings. You got me interested.

Solution 3 - Git

There is a current discussion about this question at Phil Haack's blog, where he is asking for feedback on how to tackle this question.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionFionnView Question on Stackoverflow
Solution 1 - GitRobert RosView Answer on Stackoverflow
Solution 2 - GitPHeibergView Answer on Stackoverflow
Solution 3 - GitDavid WhiteView Answer on Stackoverflow