Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Ricerca personalizzata

SVN per software e altro

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto UtenteMassimoB

0
voti

[1] SVN per software e altro

Messaggioda Foto Utenteboiler » 3 ott 2017, 20:53

Ciao a tutti

La domanda in sostanza è semplice: mettere in un repository nato per lo sviluppo software anche il resto dei files di un progetto (CAD per la meccanica, Gerber-files per il PCB, documentazione varia, requirements, certificati di compatibilità elettromagnetica, eccetera). S'ha da fare o no?

A me l'idea non piace molto, ma vorrei sentire anche altri pareri.
Quanto segue è piuttosto verboso, per spiegarvi uno dei motivi per cui non sono entusiasta.

La situazione in azienda è al momento questa: abbiamo un server per lo sviluppo di software (embedded e non) su cui gira SVN come sistema di versionamento.
Sullo stesso server sono installati anche tutti i compiler che vengono usati da TeamCity per generare gli artefatti.
Il tutto è anche linkato a YouTrack per la gestione dei bug reports.
(tutti tools di JetBrains che consiglio!)

In tutti i progetti in C è incluso un file version.h che contiene 4 #defines sotto forma di numeri:
- Major revision
- Minor revision
- Bugfix
- Build
In questo modo i software che hanno la possibilità (e dovrebbero essere tutti!) di indicare che versione hanno, possono farlo nel formato canonico x.x.x.x

Major e Minor revision vanno modificati a mano.
Bugfix viene sovrascritto da YouTrack quando viene effettuato un commit linkato ad un bug.
Build viene sovrascritto da TeamCity ad ogni commit.

Dopo questo passo, TeamCity compila il progetto e mette a disposizione l'artefatto su una pagina intranet.

E qui cominciano i mal di pancia per me: ogni volta che il reparto di ingegneria modifica il CAD o ogni volta che il marketing corregge qualcosa nel manuale, mi viene ricompilato il software.
Il laboratorista che testa il software sugli apparecchi se lo scarica e lavora con la revisione 45 (cosa che scrive anche nel suo rapporto). Le ultime modifiche al software io però le ho fatte alla revisione 38.

Solo un problema di "estetica"?
Non so, non sono sicuro, ma non mi piace.

Senza contare che se si lavora correttamente su SVN, non si lavora mai sul trunk, ma sempre su un branch. Che facciamo? Un branch per tutti? E chi decide quando fare un merge? Oppure ogni reparto si fa il suo branch? Doventa poi un divertimento fare il merge dei file di documentazione usati in comune.

Inoltre chi sviluppa software è abituato all'uso di SVN. Quelli del marketing probabilmente faranno un check-out una volta (o se lo faranno fare) e poi la roba rimarrà per sempre solo nella working copy.

Ma d'altra parte, anch'io non avrei voglia di dovermi ricordare di fare un update prima di ogni consultazione di un documento.

Al momento abbiamo solo il software sull'SVN. I documenti CAD sono su Windchill PDM. Tutto il resto è semplicemente su un fileserver.

Una persona (il perfetto esempio di questo princpio) vorrebbe cambiare il tutto. È la volta buona che do davvero le dimissioni :evil:

Voi cosa ne dite? La vedo troppo nera?
O avete magari argomenti a sostegno (dell'una e/o dell'altra fazione)?

Saluti e grazie
Boiler
Avatar utente
Foto Utenteboiler
11,5k 3 6 13
G.Master EY
G.Master EY
 
Messaggi: 1936
Iscritto il: 9 nov 2011, 11:27

0
voti

[2] Re: SVN per software e altro

Messaggioda Foto Utentexyz » 3 ott 2017, 21:22

Non uso SVN da più di 15 anni, è un software ormai datato e superato da software più moderni.

Consiglio GIT:

https://git-scm.com/

oltre a gestire meglio i sorgenti ha delle estensioni che permettono di gestire file binari anche molto grossi con GIT-LFS:

https://git-lfs.github.com

Poi uno è libero di usare i software che vuole ma con SVN difficilmente si riesce a gestire file eterogenei in modo ottimale.
Avatar utente
Foto Utentexyz
3.790 2 4 5
Master EY
Master EY
 
Messaggi: 1063
Iscritto il: 5 dic 2009, 17:37
Località: Italy Turin

0
voti

[3] Re: SVN per software e altro

Messaggioda Foto Utenteboiler » 3 ott 2017, 21:44

xyz ha scritto:Non uso SVN da più di 15 anni, è un software ormai datato e superato da software più moderni.

Consiglio GIT:


Git l'ho usato presso un'altra ditta... anni fa... che significa che non è molto fresco nemmeno lui. In effetti guardando su wikipedia risulta che SVN ha 16 anni, mentre Git ne ha 12.
Se un software del genere a 16 anni va considerato obsoleto, non opterò certo per Git che lo sarà tra quattro anni.

In realtà non sono obsoleti né l'uno né l'altro. Sono ambedue attivamente mantenuti e ampiamente usati nell'industria.

Avendoli usati entrambi, non sento la mancanza di Git. Non siamo una comunità opensource dove ognuno fa i suoi pasticci in locale e poi chiede che vengano integrati nel progetto originale. Soprattutto non sento la mancanza né della sintassi astrusa né dei casini immondi ogni volta che si deve rinominare un file.

SVN è valido.
Git è valido.
Git è tutto bello luccicante e alla moda, ma non lo rende migliore di SVN.

Ma la domanda prescinde in realtà dal software usato: da un punto di vista concettuale e di uso, ha senso mescolare progetti di software e altri documenti nello stesso repository?

Boiler
Avatar utente
Foto Utenteboiler
11,5k 3 6 13
G.Master EY
G.Master EY
 
Messaggi: 1936
Iscritto il: 9 nov 2011, 11:27

0
voti

[4] Re: SVN per software e altro

Messaggioda Foto Utentexyz » 3 ott 2017, 22:01

boiler ha scritto:ha senso mescolare progetti di software e altri documenti nello stesso repository?

Se il software di gestione del repository lo permette in modo facile si, altrimenti subisci tutti gli inconvenienti del caso. Poi ognuno è libero di usare i software che vuole.
Avatar utente
Foto Utentexyz
3.790 2 4 5
Master EY
Master EY
 
Messaggi: 1063
Iscritto il: 5 dic 2009, 17:37
Località: Italy Turin


Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti