SVN è fuori moda? [chiuso]


9

Sono passati solo diversi anni da quando sono passato da Visual Source Safe a SVN. E SVN per me è ancora un po '"WOW! Posso fare così tante cose! SVN è così bello!"

Ma molte persone intorno a me continuano a dire "SVN? Davvero? Meh ..."

E ce ne sono così tanti che sono preoccupato. Devo spostare la mia squadra in Git / Mercurial o in qualche altra cosa di fantasia? So di sembrare ridicolo e la risposta ovvia sarebbe "rimanere con ciò che funziona per TE". SVN funziona per me ... Ma ogni volta che creo un nuovo progetto nel mio repository continuo a chiedermi: potrebbe essere questo il momento di trasferirmi?

Quindi ... SVN è davvero così male? Mi manca un'enorme opportunità rimanendo fedele?


Questo potrebbe essere una lettura interessante: stackoverflow.com/questions/161541/svn-vs-git
Fouronnes

Sei uno sviluppatore autonomo?
TeaDrinkingGeek

6
Ho sempre usato GIT. Ora devo usare SVN al lavoro .... ... ... ... ... ... ... RAGE.
Ivo Wetzel,

@TeaDrinkingGeek: OP dice "Devo spostare la mia squadra ...", quindi suppongo che ci sia qualcosa di più del solo OP coinvolto (a meno che tu non conti una squadra di una squadra - ma poi di solito non viene definita "la mia squadra" ).
FrustratedWithFormsDesigner

lol scusa amico, gli occhi sono un po 'sfocati dopo 12 ore sul portatile. :)
TeaDrinkingGeek

Risposte:


8

Dipende interamente dall'uso.

Se hai una squadra di persone in una stanza e svolgono la maggior parte del loro lavoro lì, se hai un processo di compilazione e distribuzione che ti piace già e se non stai cercando di condividere il tuo codice con le persone ampiamente (come faresti con un progetto open source), quindi non dovresti sudarlo.

Sono passato forse un anno fa da Subversion a git. Git perfettamente adeguato anche per quel caso d'uso prevalentemente locale, ma dove brilla davvero è lo sviluppo distribuito. Utilizzato localmente, è bello avere github come backup remoto e una bella interfaccia web per il codice, e mi rende facile far partecipare gli appaltatori. Ma non ne sto ricavando molto in questo momento che non stavo ottenendo da Subversion.


8

Non essere spazzato via nel flusso costante di hypes. Hai qualcosa che funziona, continua a usarlo fino a quando non c'è un requisito aziendale che è meglio soddisfatto con qualcos'altro (no, un nuovo brillante sistema di controllo del codice sorgente o un linguaggio di programmazione ogni pochi mesi, ogni volta che viene pubblicizzato qualcosa di "nuovo e migliorato", NON va per soddisfare le tue esigenze aziendali meglio di quella che stai utilizzando ora).

Se SVN lavora per la tua organizzazione, non c'è quindi motivo di investire i soldi / il tempo / lo sforzo necessari per passare a qualcos'altro, per quanto alcune persone lo vogliano perché è nuovo e brillante.

E no, non è (come pensa JBK) una decisione che dovrebbe spettare al "team", è una decisione che spetta al management dopo aver consultato tutte le parti interessate (che include almeno i vostri amministratori di sistema). È una decisione aziendale spendere soldi per cambiare il tuo stack tecnologico, non una decisione tecnica.


Ti voterei un milione di volte se potessi.
HLGEM,

5

Credo che non si dovrebbero mai prendere decisioni per ignoranza. Se non sai cosa ti perdi, dovresti provare a uscire abbastanza a lungo fino a quando non lo fai, quindi puoi prendere una decisione informata. Il salto verso il controllo distribuito non può davvero essere compreso senza provarlo e lasciar andare alcune vecchie abitudini mentre lo fai. La maggior parte del potere di DVCS è che puoi creare tutti i rami che vuoi, per qualunque motivo tu voglia. Se lo provi per un mese e non hai creato almeno 5 filiali o giù di lì, non l'hai testato alle sue condizioni. Questo è l'errore della maggior parte delle persone che non "ottengono" git. Dopodiché, se torni a svn, almeno conoscerai i motivi per te.


5
Sono fortemente favorevole a prendere la maggior parte delle decisioni per ignoranza relativa. Gli suggerisci di impiegare un mese per provare Git. È un vero lavoro. Dovrebbe farlo solo se c'è qualche motivo per credere che renderà la sua situazione molto migliore. Altrimenti, probabilmente c'è qualcos'altro su cui dovrebbe trascorrere il mese di sperimentazione. Ad esempio redis o mongo o rotaie o node.js o BDD una delle cose ugualmente nuove.
William Pietri,

Ma Git è una novità assoluta. E l'esperienza di molti utenti di Git suggerisce che sarà fare la sua situazione molto meglio.
Kyralessa il

3

Non ho usato Git, ma ho usato Mercurial e non vedo davvero quale sia il grosso problema. Sembra molto simile a SVN, tranne per il fatto che le cose di base come il check-in e il check-out sono più complicate (richiede due passaggi anziché uno). In cambio, dovrebbe rendere molte cose più avanzate che in realtà non ho mai avuto bisogno di fare molto più semplici. La mia reazione alle affermazioni che DVCS è in qualche modo intrinsecamente superiore è fondamentalmente "OK, certo, prenderò la tua parola per questo", e poi proseguo con SVN, che funziona bene per me.


Il grosso problema di DVCS è che puoi fare tutto il tuo lavoro "offline". Questa caratteristica impone il requisito che il DVCS disponga di un potente meccanismo di fusione in grado di gestire il rebasing e il branching; il tipo di attività che semplicemente non sono possibili con un VCS centralizzato. La superiorità che la gente afferma proviene dai flussi di lavoro abilitati piuttosto che dalla superiorità tecnica. Se non usi o hai bisogno di quel tipo di flusso di lavoro, va bene lo stesso.
Greyfade,

1
Questo perché check-in e check-out non esistono in DVCS. Stai usando hg come sostituto di SVN piuttosto che usare hg nel modo in cui doveva essere usato. Lo stesso vale per qualsiasi DVCS.
alternativa il

@Mathepic: Beh, puoi cambiare il nome se vuoi, ma il concetto fondamentale di trasferimento dei dati tra la copia di lavoro locale e il repository ufficiale esiste in qualsiasi sistema di controllo del codice sorgente.
Mason Wheeler

1
no non lo fa. Non esiste tale operazione in un DVCS.
alternativa il

3
sì, c'è - il punto di un repository centrale a cui spingere la versione "master" è un caso d'uso molto valido, sia per il backup, il build-server, la gestione dei rilasci, sia solo un modo per coordinarsi meglio tra i team.
gbjbaanb

-2

La risposta ovvia qui è lasciare che la squadra decida e discuti su quale sia l'opzione migliore per tutti in modo che non sia qualcuno che chiama i colpi nel vuoto. Potrebbero esserci varie opinioni e preoccupazioni da affrontare, ma preferirei cercare una risposta di consenso piuttosto che cercare di essere dittatoriale su cosa usare.


3
Hai idea del costo in manhours di passare da un sistema di controllo del codice sorgente a un altro o del rischio di perdere qualcosa nel processo se qualcuno di nuovo nel nuovo sistema commette un errore nella conversione del codice esistente? Questa NON è una decisione del team, questa è una decisione aziendale e dovrebbe essere presa solo se hai reali esigenze che il tuo sistema attuale non può soddisfare.
HLGEM,
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.