2009-05-07 3 views
18

Lavoro in un negozio Visual Studio/.NET che utilizza ancora VSS 2005 per il controllo del codice sorgente. Stiamo cercando di aggiornare a VS Team Foundation Server e usarlo è il sistema di controllo del codice sorgente, ma sono curioso di sapere se questa è davvero l'opzione migliore. I creatori di StackOverflow usano Subversion ma commentano che è un problema unire i fork del codice nel prodotto principale (discusso nel podcast # 52). Joel ha detto che Mercurial è usato a Fog Creek. Sapendo che Joel è qualcosa di uno snob del software e ha scelto Mercurial su qualsiasi cosa di Microsoft, ho pensato di porre il quesiton al pubblico di StackOverflow: quale prodotto di controllo sorgente è il migliore per gli sviluppatori di Visual Studio?Qual è il miglior prodotto di controllo del codice sorgente per lo sviluppo di Visual Studio?

+1

Non so bene. Ma Team System è una cosa piuttosto brutta e costosa. Non mi preoccuperei di farlo. –

+1

Provenendo da VSS e SVN, Team Foundation Server è MOLTO migliore per gestire la ramificazione e l'unione con Visual Studio. – StingyJack

+0

Simili: http://stackoverflow.com/questions/141500/visual-studio-2008-source-control-for-small-teams – Kzqai

risposta

10

Sembra che tu voglia avere l'integrazione VS ma mi chiedo il motivo.

Un buon prodotto di controllo sorgente ha molte più funzioni rispetto all'integrazione VS.

È possibile ottenere la sovversione di integrarsi con VS (Ankh svn e visualsvn) e ho usato anche vault che è stabile e integrato con VS ma io uso il controllo di origine per altre cose diverse da solo vs lavoro.

Quindi preferisco lavorare con il controllo sorgente fuori dal prodotto. Dovresti provarlo.

+0

VS è pesante. Molto pesante. Non dovresti accendere un oggetto pesante solo per usare il tuo controllo sorgente. Lavorare con VS è bello, ma dipende interamente da VS? Io dico NO. – jcollum

+0

Non è necessario utilizzare VS per l'integrazione con TFS, dispongono di Power Tools che consentono di utilizzare Windows Explorer. VS non è così pesante, posso aprire una soluzione con 36 progetti e costruirli tutti e mantenere la memoria inferiore a 400MB – StingyJack

+0

Le prime due dichiarazioni non hanno dipendenza.Dire che il buon controllo del codice sorgente ha più funzioni rispetto alla semplice integrazione VS, non preclude i vantaggi dell'integrazione VS. – AaronLS

5

Il controllo sorgente è solo parte di VS Team Foundation Server, che è un sistema completo di gestione dei progetti.

Ho usato sia SVN che TFS, ed entrambi sono più stabili, robusti di VSS.

1

Usiamo il caveau, è buono. Ma usa Team System se puoi b/c è di Microsoft. Sanno come affrontare i propri problemi/bug/modi di pensare.

+3

Sì, non hai usato TFS è la mia ipotesi. È il secondo SCM più insetto che ho usato. Il primo era VSS. Entrambi erano di MS. – jcollum

+0

Lo secondo. Non riesco a capire perché tutti stiano lodando TFS mentre è fondamentalmente rotto per il nostro scenario. Ci siamo stabiliti su Git. – Sardaukar

0

Forse dovresti chiederti che cosa è meglio per il tuo progetto.

Mi piace svn perché è gratuito e il tipo di standard (forse un po 'audace da dire).

0

Il mio voto è per TFS. VSS è più di un dolore. Ho usato SVN al di fuori di VS e dovrei vederlo funzionare insieme ad esso.

Utilizzo del controllo sorgente fuori dal prodotto? Sembra più lavoro del necessario. Solo perché si integra con VS non significa che non puoi usarlo per altre cose. Se sono in VS, voglio rimanere lì e non dover passare a un'altra applicazione client per ottenere la mia fonte. Mi piace che VS possa controllare direttamente.

18

Siamo passati da VSS a SVN, utilizzando solo TortoiseSVN per un lungo periodo. Recentemente abbiamo iniziato a utilizzare il plug-in VisualSVN per VS (sfortunatamente non è gratuito).

Devo dire, dopo aver superato il dolore iniziale di non avere l'integrazione del controllo del codice sorgente in VS, mi è piaciuto molto il livello di controllo che avevo su tutte le operazioni di controllo del codice sorgente. Consiglio vivamente questo percorso.

Se si utilizza Subversion e si dispone dell'integrazione del controllo del codice sorgente, consiglio vivamente VisualSVN.

Se si desidera provare SVN, è possibile installare il prodotto molto gratuito (e molto facile da configurare) VisaulSVN Server e far funzionare SVN in pochi minuti su un server Windows.

+0

Il server è bello, non posso commentare il client mentre uso TortiseSVN – Kelly

6

Venendo da VSS qualsiasi sistema sarebbe un miglioramento ;-)

Perforce è probabilmente il miglior strumento corrente principale che ho usato. Rational Apex era ancora meglio, ma a meno che tu non stia scrivendo Ada, queste informazioni non ti sono di alcuna utilità.

ClearCase è piuttosto potente, ma l'ho trovato piuttosto difficile da usare (devo ammettere che l'ho usato solo per un paio di settimane, quindi probabilmente non gli ho dato un processo equo).

Per il costo (gratuito) SVN è eccellente. Il componente aggiuntivo shell Tortoise lo rende molto facile da usare in Windows.

MODIFICA.

Vedo che ho appena ricevuto un aggiornamento da questa antica risposta :-) Questo mi ha fatto rivisitare e ho scoperto che ho bisogno di aggiornare la mia risposta.

Ora utilizzo TFS al lavoro e mi piace molto, è una grande bestia e non è appropriato per i progetti a casa, forse, ma è uno strumento commerciale e vale la pena dare un'occhiata se si apprezza davvero l'integrazione VS. Sono sicuro che Perforce e Clear Case sono ancora ottimi prodotti, ma ora sono fuori dal mondo.

Per progetti più piccoli o lavori personali a casa ora utilizzo Git. Tuttavia, non mi interessa particolarmente l'integrazione VS, la uso solo dalla riga di comando, ma a casa passaggio tra diversi ambienti, quindi l'integrazione VS non è una priorità.

+0

Forse un'altra modifica in arrivo? Haha. Apprezzi la risposta aggiornata. :) –

3

Ho avuto molta fortuna con Ankhsvn. Sono in grado di usarlo in modo intercambiabile con TortoiseSVN e fa un ottimo lavoro di integrarsi strettamente con Visual Studio e il layout del progetto.

http://ankhsvn.open.collab.net/

9

Ho lavorato con VSS, CVS, SVN e TFS.

VSS: Salta. Ho perso troppi cambiamenti che sono letteralmente svaniti.

CVS: Ottima soluzione. Manca una caratteristica SVN con una visualizzazione della fusione.

SVN: Ottima soluzione. È possibile ottenere componenti aggiuntivi da integrare se necessario. Ho solo una lamentela: la fusione tra i rami potrebbe essere migliore. Ma il prodotto è bomber e molto conveniente.

TFS: Dove stavo lavorando, non hanno fatto molto con esso. Hanno usato solo il controllo del codice sorgente. Ero entusiasta di usarlo, specialmente le scaffalature, ma non potevo unire le modifiche a un ramo. Direi che è più o meno quello che dovrebbe essere VSS. A volte MS si sforza troppo di fare cose per te che devi fare per te stesso. Inoltre, l'interfaccia utente non è intuitiva.

Quindi, rimango con SVN. Tuttavia, il nuovo standard open source sembra essere un GIT (non posso commentare comunque).

+1

Sì, ho sentito che Git e Mercurial (Hg) stanno guadagnando popolarità. –

11

La mia raccomandazione è per SourceGear Vault. È abbastanza vicino a Visual Source (un) Safe per sentirsi "a proprio agio" subito, è solido (costruito su SQL Server che risolve anche i fastidi di backup), è molto affidabile, ha un grande supporto per ramificazioni e fusioni - tutto intorno a cose buone.

È gratuito per le squadre fino a 2 sviluppatori e un prezzo ragionevole per i team più grandi - molto meno $$$ di Team System (inoltre è solo un controllo del codice sorgente, ovviamente - non un intero sistema di sviluppo della squadra).Lo usiamo in combinazione con il bug di Fogbugz e il tracker dei problemi e questa combo abbandona tutto il botto di cui abbiamo bisogno per risparmiare molto meno.

Altamente raccomandato.

Marc

+2

Ho appena iniziato a utilizzare Vault e penso che sia fantastico. In precedenza ho utilizzato Source Safe (orribile). Ho provato Subversion + Tortoise. Sfortunatamente, SVN ha avuto una curva di apprendimento ripida ed è stato difficile da configurare e utilizzare (non ho provato VisualSVN - potrebbe essere stato meglio). Ma con Vault, * tutto * è buono. È splendidamente integrato con VS, e fa bene il suo lavoro senza intralciarlo. Ramificazione e fusione sono un sogno. Credo che una licenza per utente singolo gratuita sia disponibile se si desidera provarla. – Kramii

2

SVN è migliore e più veloce di VSS. Siamo passati da VSS a SVN 2 anni fa perché VSS era su server a New York e le operazioni su VSS sembravano troppo lente per gli sviluppatori in India. SVN è più veloce perché era pensato per la WAN anziché VSS, che è per la LAN. Refer this link

È possibile utilizzare Windows Explorer per eseguire operazioni SVN oppure è possibile utilizzare AnkhSVN per eseguire operazioni SVN da VS.Net IDE.

È possibile preferire il blocco dei file prima di apportare le modifiche se si riesce a fonderli in un secondo momento. Ma la fusione con IMHO non è davvero doloroso, perché puoi vedere la chiara distinzione tra il tuo codice e quello dei tuoi colleghi prima di procedere con l'unione.

I vantaggi di SVN sono reperibili here in caso di overflow dello stack.

2

+1 per dimenticare l'integrazione VS.

Molti dei migliori strumenti di controllo del codice sorgente hanno interfacce a linea di comando grandiose. Ho usato felicemente Git per i progetti VS da quasi un anno. Il rovescio della medaglia è che Git richiede una shell bash e non è molto adatto a Windows. Sono disposto a pagare il 'costo' di non avere l'integrazione VS per ottenere tutte le funzionalità avanzate che rendono la vita davvero più semplice.

Suggerirei di provare Mercurial.

Devo aggiungere che questo consiglio è più adatto per una scelta personale del controllo del codice sorgente. Se stai cercando uno standard di controllo del codice sorgente per una grande azienda con molti sviluppatori, sceglierei una scelta più "standard" come Team System, SVN o Vault.

0

Uso sia Vault che TFS al lavoro. Abbiamo utilizzato VSS e altri problemi con esso, quindi il lead al momento ha deciso di passare a Vault. Non ho avuto problemi con Vault, ma altri ne hanno avuti con fusione e diramazione.

Ho iniziato a utilizzare TFS Trial e mi piace tanto quanto Vault. Non uso ancora molti degli extra, come il bug e il monitoraggio degli oggetti di lavoro, ma ho intenzione di farlo.

Dato che non hai menzionato i costi e la società sta già considerando di passare a TFS, penso che soddisferà il tuo bisogno di ottenere un prodotto migliore di VSS e ti consentirà di svilupparlo in futuro.

+0

Il costo non è un problema. Stiamo cercando la * migliore * soluzione. –

2

Preferisco TFSVC poiché è integrato con tutti gli altri servizi in Team Foundation Server. Ma dipende da cosa vuoi fare. Se vuoi una soluzione ALM, questa è la strada da percorrere. Ho la possibilità di impostare criteri di controllo, build integrati e associarmi agli elementi di lavoro. Mi piace il modo in cui si dirama e si fonde. Posso fare in modo che i miei tester inviino elementi di lavoro relativi agli errori associati al codice in TFSVC. Ho la tracciabilità per vedere chi sta registrando e rompendo le build. Posso eseguire report e ottenere una buona visibilità nel progetto. Tutto funziona insieme.

Spero che questo aiuti.

John

+0

Stiamo cercando di integrare altre cose con il controllo del codice sorgente, come SQL Server, BizTalk, ecc. Sembra che tu stia dicendo che se il piano è quello di fare integrazione con lo stack e gli strumenti MSFT - che siamo - allora questo è un gioco da ragazzi. –

3

Usiamo plasticscm sul posto di lavoro, è meno noto, ma molto ben integrato in VS, si hanno tutte le opzioni ei grafici all'interno vs stessa.

1

Dipende dal sistema di controllo versione gratuito o commerciale.

Subversion
Utilizzando Subversion avete grande gratuito, open-source ankhsvn plug-in, che l'integrazione Subversion con Visual Studio. L'integrazione è davvero fantastica!

Mercurial
Se avete bisogno di controllo di versione distribuito scegliere Mercurial con VisualHG plugin. Mercurial, in contratto con il Git, è stato sviluppato con il supporto nativo di Windows e anche l'integrazione di Visual Studio è molto meglio.

PlasticSCM
La migliore integrazione di Visual Studio che io abbia mai visto avuto PlasticSCM che è la semplice conseguenza che PlasticSCM è Windows-sfondo sistema di controllo versione. Funziona davvero bene.

1

Non posso credere che nessuno abbia menzionato Assembla! È gratuito per repository illimitati, utenti illimitati e 1 GB di spazio!

www.assembla.com

+0

Assembla è SVN, appena ospitato. – Kelly

0

Ho usato Visual Source provvisoria (2005) e io non lo consiglio. Essendo una soluzione basata su file file comporta il rischio che il repository venga corrotto più facilmente. Ho utilizzato Source Off-Site un prodotto SourceGear che consente il check-in e il checkout VSS remoti su Internet e ha funzionato bene, ma ha comunque lo svantaggio di essere stato costruito su VSS e l'architettura di file flat.

SourceGear rende anche Vault quale è la mia soluzione preferita. È un repository basato su SQL Server quindi non è soggetto a problemi con il file system di Windows. I ripristini ei backup possono essere configurati come qualsiasi altro database di SQL Server e possono essere ripristinati in un momento specifico, non solo per l'ultima data di backup.

Ho anche utilizzato Source Anywhere (versione 2.2) e l'ho trovato privo di funzionalità rispetto a VSS e Vault. Ma era una soluzione SQL Server, che rendeva i backup più affidabili.

Sono interessato a provare Subversion e se c'era una versione di Subversion che utilizzava SQL Server come repository, penso che sarebbe una soluzione ragionevole. Se stai usando un altro sistema operativo, Subversion è probabilmente la scelta migliore, ma se stai usando Windows Server ti consiglio una soluzione SQL Server.