2010-10-16 14 views
52

Mi chiedo se sia possibile utilizzare nuget per archiviare solo i riferimenti ai pacchetti richiesti nel controllo di versione (solo il file package.config e ignorare la cartella dei pacchetti).NuGet e controllo versione distribuita (DVCS)

C'è un modo per dire a nuget di (ri) scaricare tutti i pacchetti di riferimento nei vari file package.config? O qualcosa di simile che potrebbe essere inserito in uno script di build.

Aggiornamento:

Sembra che io non sono l'unico che ha richiesto questa funzionalità: See this work item (grazie a PHeiberg per il suggerimento)

Aggiornamento 2:

NuGet ora ha questa caratteristica integrata. Vedi Using NuGet without committing packages to source control per i dettagli. Tutto quello che serve è aggiungere la directory dei pacchetti a .gitignore o qualche equivalente del tuo VCS (/packages/ farà il trucco se ce l'hai nella root del tuo repository e stai usando git).

+0

@ Robert-ros risponde a questa con la voce del blog da David Ebbo . :-) http://blog.davidebbo.com/2011/08/easy-way-to-set-up-nuget-to-restore.html – klabranche

risposta

8

Non so la tua prima domanda.

Come per avere un server CI aggiornare automaticamente i pacchetti, è fattibile in teoria. È possibile associare i comandi "List-Package -Installed" e "Update-Package" e aggiornare ciascun pacchetto all'ultima versione. Vedere lo command reference per ulteriori dettagli.

Scott Guthrie says this sul tema:

"è possibile integrare l'opzione della riga di comando con una soluzione di CI e fare un comando update-package esplicitamente come parte del processo di generazione/CI a tirare giù aggiornamenti. Francamente io non sono sicuro che abbia un senso per gli scenari che stiamo parlando, anche se, come tipicamente si desidera che alcuni dev decidere prima di aggiornare un runtime di base dipendenza a una nuova versione. NuPack di modello predefinito avrebbe uno sviluppatore utilizzare NuPack per installare una libreria - e NuPack controllerebbe automaticamente il il pacchetto e le dipendenze per il controllo di origine . In questo modo un altro dev (o il server CI ) non avrebbe più bisogno di usare NuPack - potevano semplicemente sincronizzare la loro fonte e build . Ma, come ho già detto in precedenza - se si voleva esplicitamente fare un aggiornamento come parte del processo di CI si poteva "

Edit:.

Dopo i suoi commenti vedo che cosa siete cercando di ottenere. Ho trovato this long thread nell'elenco delle discussioni di NuPack sul problema.Una soluzione apparentemente non sarà parte della v1. Un'attività di compilazione personalizzata nella CI di tua scelta e una configurazione nel repository per essa è l'unica soluzione che vedo Si prega di segnalare con i risultati ottenuti. Mi hai interessato.

+0

Beh, non voglio l'ultima versione, voglio quella specificata - Semplicemente non voglio i binari nel repository (dato che gonfia le dimensioni del repository di un repository DCVS con ogni nuova versione considerevolmente) – Fionn

+0

Ok, questo tipo di ha senso. È possibile inserire un elenco di nomi e versioni del pacchetto nel repository e quindi richiedere al proprio elemento di recupero di recuperare ciascuno di essi con un comando "Aggiungi pacchetto -Versione". – PHeiberg

+0

Trovato una discussione recente su questo. Vedi la mia modifica. – PHeiberg

5

C'è una discussione corrente su questa domanda allo Phil Haack's blog, dove sta chiedendo un feedback su come affrontare questa domanda.