SourceSafe è davvero sicuro?


27

Dopo aver trascorso tutta la mattinata a cercare di controllare qualcosa, ora mi rendo conto di aver perso un paio di giorni di lavoro.

È successo prima - ed è apparentemente un evento comune con SourceSafe. SourceSafe può essere utilizzato con successo, senza problemi e, in caso affermativo, come?


40
Oh caro Dio NO ... mai, mai più!
Tim Post

27
Ho combattuto a lungo e duramente per far uscire SourceSafe dalla mia azienda. Alla fine ha vinto e tutti sono più felici per questo.
Kevin D,

13
Qualsiasi organizzazione che utilizza VSS è un cattivo "odore di org"
JoelFan,

8
La frase "Check-in anticipato e spesso". è prevenire questo tipo di situazioni. Non dovresti mai perdere più di qualche ora di lavoro. Tuttavia, Iron Maiden ha detto al meglio su VSS: "Corri sulle colline! Corri per la tua vita!"
Ryan Hayes,

3
Microsoft non lo usa. Perché dovremmo?
Greyfade il

Risposte:


45

La mia visione è semplice, migrare a qualcos'altro al più presto. Non ci vorrà molto (1-2 settimane WAG) e non importa quanto tempo impiega la migrazione, è facile da giustificare per la gestione. Un po 'di tempo per migrare equivale a un solido controllo del codice sorgente e poche possibilità di perdita del codice sorgente. Fai una rapida ricerca su Google per "storie dell'orrore sicure alla fonte" o simili se il tuo capo è scettico.


È vero, ma a volte non è facile giustificare una persona non tecnica che trascorre 1-2 settimane durante la migrazione del controllo del codice sorgente.
t3mujin,

2
@ t3mujin, vedi la discussione sui programmatori
Nemi

SourceSafe è una responsabilità attiva e permanente per la produttività a breve e lungo termine. Può essere facilmente sostituito da un numero qualsiasi di sistemi di controllo versione moderni, sicuri e distribuiti. Fai delle ricerche con Google sulle storie dell'orrore di SourceSafe e su una guida professionale. RENDI FORTE IL TUO CASO. Fa tutto ciò che serve.
Adam Crossland,

3
@ t3mujin: migralo progetto per progetto. Dove sto lavorando, usavamo SourceSafe, ora usiamo TFS. La migrazione di tutto (centinaia di progetti) sarebbe stata una seccatura, quindi, invece, se avremo del lavoro da fare su un vecchio progetto ancora in SourceSafe, passeremo prima la piccola quantità di tempo a migrarlo, e solo dopo inizieremo a lavorare.
Carson63000,

@ Carson63000 Stiamo usando TFS per la maggior parte dei progetti attuali, ma c'è una grande base di origine con pochi ma occasionali aggiornamenti su VSS che nessuno è disposto a pagare per la migrazione a TFS. Non faccio parte del team che lo usa più spesso, quindi sto bene con qualche riga di codice una volta ogni tanto
t3mujin

33

Peggio. SCM. Mai.

Tutto ciò che è sbagliato in SCM è incarnato in VSS. Anche StarTeam è migliore di Source Safe. Source Safe è Internet Explorer 1 del mondo del controllo versione: completamente superato da qualsiasi altra implementazione.

Come l'ho usato?

Il mio tipico flusso di lavoro per fare le cose era

  1. Dai un'occhiata al progetto
  2. Blocca tutti i file (per evitare di fondersi con qualcuno che ha aperto le porte malvagie dell'Inferno)
  3. Ha fatto il mio lavoro
  4. Ogni giorno ho controllato le mie modifiche
  5. Ho ricontrollato tutto e risolto tutti i problemi con l'integrazione
  6. Riprovato

In confronto a Subversion, quanto sopra è ridicolo (a parte verificare che non hai rotto la build).

Restrizioni alle pratiche di programmazione del mio team

Queste sono le regole in base alle quali il team ha dovuto lavorare per farlo funzionare per noi. Il tuo chilometraggio può variare.

  1. Una sola persona può modificare un file (Heaven ti aiuta se vanno in vacanza)
  2. Non diramare è troppo difficile da gestire
  3. Non tentare mai di tornare a una revisione precedente

Cosa si può fare?

Polarion ha una buona serie di strumenti per la migrazione da fonti come Source Safe a Subversion (SVN), che è l'attuale standard di fatto all'interno della maggior parte delle aziende per il controllo della versione open source. Subversion soffre della necessità di disporre di un server per consentire il check-in (diversamente da GIT o Mercurial che sono progettati per i team offline distribuiti).


@David non mi fa iniziare a tentare di ottenere storie di revisione di file o ramificazioni (piango mentre scrivo - così tante ore sprecate della mia vita ...)
Gary Rowe,

2
sì, branch e merge non sono davvero divertenti in un buon SCM. Non credo che il congresso ti permetterebbe di far fare la gente in una situazione di crisi.
BlackICE,

2
Non tornare mai a una versione precedente? Perchè no? E in tal caso, qual è lo scopo completo dell'utilizzo di uno strumento SCM?
JoelFan,

Ai tempi in cui ero in un negozio che utilizzava VSS non abbiamo mai avuto problemi a tornare a una versione precedente. Sembra un po 'estremo. Sono con te sulla ramificazione però.
JohnFx,

@JohnFx @SpashHit Il nostro team aveva una tolleranza molto bassa per il dolore, quindi forse sono un po 'esagerato. Quando arrivò Subversion fu come se fosse stato sollevato un peso enorme.
Gary Rowe,


11

L'abbiamo messo fuori servizio circa un anno fa.

È successo più volte che quello che avevo fatto il check-in la sera precedente non era lì la mattina successiva. Non l'ho trovato divertente perché sembrava sospettosamente come se non avessi finito il mio lavoro. Da quando ero nuovo nell'azienda, sarebbe potuto essere pericoloso per me.

Siamo passati al TFS e da allora ha funzionato senza intoppi.


1
+1 per eliminarlo. Hai fatto la cosa giusta.
Gary Rowe,

1
TFS è una cosa meravigliosa. Se hai l'impasto per pagarlo, cioè.
Adam Crossland,

2
@Adam Crossland: bello come un grosso diamante e circa allo stesso prezzo.
Orbling

1
@Orbling: ben detto.
Adam Crossland,

1
Per coloro che non riconoscono l'abbreviazione, TFS è il Team Foundation Server di Microsoft .
Keith Thompson,

9

La mia opinione?

Ce ne sono di migliori che sono più facili da usare, più sicuri da usare e completamente gratuiti. Perché preoccuparsi di usarlo?

Questa è un'area di sviluppo in cui abbiamo molta scelta; quasi tutti o meglio di VSS.


"most" è un po 'sconcertante ... o in altre parole: cosa c'è di peggio di VSS?
Jürgen A. Erhard,

@jae: Must è solo un qualificatore che indica che non li ho usati tutti e quindi non posso verificarne la qualità per quanto riguarda VSS; quindi "o tutto"
Steven Evers,

9

Usare SourceSafe in un'operazione commerciale è come riscaldare l'edificio bruciando banconote da un dollaro.

Nel 2000, la mia azienda di otto sviluppatori probabilmente ha perso il 5-10% della sua produttività a causa della corruzione mediamente due volte al giorno dei database VSS. Era solo così basso perché eravamo andati a backup orari.

Da quando mi sono spostato da VSS a Perforce, svn e git, non ho mai avuto un database SCM danneggiato.


7

Potrei scendere votato all'inferno su questo, ma ...

testo alternativo

VSS ti mette efficacemente al sicuro, nella misura in cui non riesci a conciliare qualsiasi tipo di realtà necessaria per rendersi conto che il tuo repository ora interrotto non era colpa tua.

Per favore, non usarlo mai.


È improbabile che tu sia votato verso il basso. La mia unica critica è che il cianuro è ovviamente il farmaco di scelta per l'utente abituale di VSS.
Orbling

7

lo usava da anni: era la soluzione predefinita, poiché era già lì. Mi ha morso parecchie volte, ma l'inerzia è difficile da superare

poi ho dovuto usarlo da remoto tramite VPN, e anche i check-in minori erano come infilare un mattone attraverso un foro stenopeico . È stato più veloce trovare manualmente i file modificati, comprimerli, inviarli via e-mail, accedere in remoto al computer del vault di origine, decomprimerli e controllare il codice dal computer del vault di origine.

Passato a Mercurial. Posso clonare l'intera base di codice sorgente attraverso la VPN in meno di un minuto. E non temo più la ramificazione.

Non ci torneremo mai più.


Fonte Offsite era per quello. Lo ricordo anche bene. In realtà ho acquistato la mia copia del sorgente offsite solo per non dover fare VSS tramite VPN
BlackICE il

+1 per "Non ho più paura di ramificare" il segno di una SCM matura
Gary Rowe,

5

È un abominio. Ma ancora meglio di niente.


12
Con tutte le alternative, è difficile giustificare l'uso, perché quando va a sud, ecco cosa avrai: niente.
DevSolo,

13
Come può essere meglio di niente se ti fa perdere lavoro?
billy.bob,

4
Puoi perdere il lavoro anche con niente, sourcesafe può almeno salvarti a volte .
BlackICE,

4
@David - così possono fare backup sensibili prima di fare qualsiasi cosa potenzialmente "icky". L'unica cosa che rivaleggia con VSS in caso di fallimento è MS BOB. VSS è così orribile da creare un ente di beneficenza in nome della cura delle persone dall'usarlo.
Tim Post

9
No, è peggio di niente. Perché se non si dispone ANCHE di backup, si ha un falso senso di sicurezza e si può perdere TUTTO
CaffGeek,

5

L'ho usato per molto tempo (quasi 10 anni) senza mai sperimentare personalmente alcun problema (anche all'interno dei team in cui lavoravo, anche se il nostro codice tendeva a essere diviso abbastanza bene per evitare conflitti e simili).

Ma ci sono troppe storie di perdita di dati per continuare a usarlo quando ci sono alternative open source decenti e affidabili là fuori.

Modifica: dai commenti sembra che il messaggio eviti qualsiasi cosa complessa (ramificazione, fusione, conflitti) e probabilmente stai bene. Qualcosa di più e ti stai dirigendo verso un territorio rischioso.


Lavoravi all'interno di un team o su progetti solisti all'interno di una base di codice generale?
Gary Rowe,

All'interno di una squadra, sebbene la base di codice fosse relativamente ben suddivisa in termini di chi stava lavorando su ciò che raramente ci sarebbero stati conflitti.
Jon Hopkins,

@Jon Questo spiega molto il funzionamento senza problemi.
Gary Rowe,

1
FWIW la mia esperienza è simile a quella di Jon. 7 anni, team di 8 persone, nessun problema con VSS. Apparentemente siamo nella (fortunata) minoranza. Non lo userei mai più in base a tutte le storie (usando SVN ora).
Steve Fallows,

1
Quando le ramificazioni, l'unione e la risoluzione dei conflitti sono considerate operazioni complesse, probabilmente stai utilizzando il sistema di controllo della versione errato ...
James,

5

Perfino MS lo sta deprecando a favore di TFS.

Per un negozio da solo o veramente piccolo che lavora in Visual Studio 6 o qualcosa di più vecchio è passabile e meglio di niente. Penso che ci sia molta esagerazione su quanto sia stato male, ma ci vuole solo un esempio di perdita di lavoro prezioso per inacidire un prodotto (per una buona ragione). VSS aveva il suo posto, e lo merito per aver almeno incoraggiato molti sviluppatori che non utilizzavano affatto lo strumento SCM per prendere l'abitudine, ma come molte tecnologie ora è praticamente obsoleto.


Fare in modo che le persone inizino a usare SCM è positivo, nessun argomento. Ma ... VSS? Le brutte esperienze non possono semplicemente dare una brutta reputazione a un prodotto, ma possono dare a una intera categoria una brutta reputazione. Oppure: quanti sviluppatori iniziano SCM con VSS e poi hanno pensato "Wow, questa roba di SCM è cattiva come me l'aspettavo" quando VSS ha sbagliato? Per non parlare del fatto che SCM è un'infrastruttura estremamente critica, vale a dire: bug non consentiti (sì, lo so ...)
Jürgen A. Erhard,

@jae non è stata la mia esperienza. VSS è stata la mia prima esposizione a SCM e non ho mai guardato indietro. Non ho riscontrato alcuna perdita di dati, corruzione o problemi di sorta durante gli ANNI durante l'utilizzo. Alla fine sono passato, ma penso che ci sarebbe voluto più tempo per integrare uno strumento se non fosse stato preinstallato con Visual Studio nel corso della giornata.
JohnFx,

3

Dopo 3 anni di utilizzo, lamentarmi con il mio manager a causa di tutte le alternative più avanzate / razionali là fuori, non ho mai avuto problemi con VSS, ma non ho mai avuto nemmeno un'opzione.

Il mio punto di vista è che fa schifo e colpi.

La parte più fastidiosa non è il terribile controllo delle versioni e la confusa capacità di ramificazione, ma la casella di riepilogo nel menu file non ti consente di premere il tasto freccia destra per espandere.

Davvero doloroso.


3

La mia visione su VSS? Ho rifiutato alcune offerte di lavoro (molto ben pagate) perché mi chiedevano "competenza VSS". E sono sicuro che ci sono un paio di altre persone che hanno fatto lo stesso.


1
+1, inserire "competenza VSS" in un annuncio di lavoro è un segno sicuro che non solo l'azienda utilizza VSS, ma che hanno una configurazione in cui VSS è già così corrotto e problematico che richiede un'esperienza VSS autentica per farlo funzionare su tutto .
Carson63000,

1

Non solo soffri del problema della potenziale corruzione del codice sorgente (che dovrebbe essere argomento sufficiente per la gestione per sostituirlo), ma devi anche convivere con un backup scomodo e l'incapacità di lavorare efficacemente come una squadra su diversi flussi di lavoro.

Trova un altro SCM (qualsiasi altro) e guarda come possono essere facili ramificare e unire. Pensa a quelle volte in cui hai dovuto copiare i file dalla tua soluzione VSS e tenerli altrove mentre tornavi a correggere un bug sul codice di "produzione".

Per i calci, basta installare GIT: puntalo sui tuoi file VSS e vedi quanto è facile per GASP due programmatori lavorare su diverse parti dello stesso file ALLO STESSO TEMPO, e quindi fare in modo che il software unisca in modo intelligente le tue modifiche ... SCM gli strumenti dovrebbero essere più di un semplice backup di origine.


0

Le mie opinioni su VSS? Lo usavo da molto tempo regolarmente (ancora usato occasionalmente per componenti più vecchi) ma è troppo XX secolo per il nostro team:

  • Molto inaffidabile
  • Rami non utilizzabili
  • Supporto delle versioni molto scarso, hai etichette ma (proprio come i rami) non realmente utilizzabili

Sono d'accordo con tutto quanto sopra: scegli una delle alternative waaaaay migliori open-source (anche vecchio CVS) o, se la tua azienda ha una sorta di abbonamento MSDN, TFS .


0
  • il suo blocco predefinito rallentava gli sviluppatori e nessuno voleva rovinare la sua configurazione
  • non si integra molto bene con altri servizi, ad esempio un'applicazione web di gestione dei progetti
  • non funzionava bene con il nostro server CI pianificato

Le nuove cose del Team Foundation del 2010 avrebbero dovuto aiutare molto e cercare di scappare dalle parti cattive di VSS. Ma al suo interno si basa ancora su VSS , motivo per cui siamo passati a SVN.

modifica - Capisco che TFS è tutto nuovo, ma durante il test, più sviluppatori che ho chiesto hanno avuto sentimenti molto simili ad esso. Il motivo per cui ho detto "al centro" era perché ricordo di aver guardato i file creati da TFS nella mia soluzione che assomigliavano a quelli creati da VSS. Questo è da un punto di vista dello sviluppatore, forse nemmeno conoscendo la tecnologia alla base di VSS o TFS o di qualsiasi altro SCM. Ci scusiamo per qualsiasi confusione.


Che cosa!?!? TFS non fa affidamento su VSS
BlackICE il

TFS è stato riscritto da zero ... non si basa su VSS in alcun modo.
LeWoody,

2
Visual Studio utilizza la stessa API del plug-in SCC per TFS e VSS. Questa API supporta VSS e ha un aspetto VSS, quindi quando passi da VSS a qualsiasi altro server di controllo del codice sorgente, ti sembrerà che il fantasma di VSS sia ancora lì.
Matthew Martedì

1
@LWoodyiii: Allora come hanno fatto a codificare due volte una pila di merda fumante? Devono aver letto almeno i commenti nel codice sorgente VSS.
Robert S Ciaccio,

1
@CraigTP: la maggior parte degli sviluppatori non ha assolutamente bisogno delle cose in TFS. È solo il rumore che rende il loro lavoro più difficile. Se i PM e i lead desiderano tutte queste funzionalità, dovrebbero separarsi dal software che uno sviluppatore deve utilizzare per essere produttivo.
Robert S Ciaccio,

0

Ai tempi ero sellato con SCCS sotto XENIX. VSS, in Visual Studio 6, nonostante tutti gli errori e i problemi presentava notevoli vantaggi. Lo uso ancora per piccoli progetti e non utilizzo più SCCS in nessuna versione.


0

Non riesco a capire perché tutti vogliono badmouth VSS. VSS non è distribuito e lo è il controllo della versione distribuita

  1. meglio
  2. consente in pratica il controllo della versione non distribuita

Si prega di leggere questo .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.