Guida alla scelta del controllo della versione per le progettazioni PCB

Zachariah Peterson
|  Creato: aprile 5, 2021  |  Aggiornato: ottobre 31, 2023
Guida al controllo della versione

Il controllo delle versioni offre ai team di sviluppo la possibilità di fare proprio questo: controllare quale versione di un progetto o repository di dati è la versione principale, con tutte le modifiche tra le versioni monitorate e con una marca temporale. I sistemi di controllo delle versioni sono ottimi per tracciare e mantenere intere basi di codice senza dover ricorrere al metodo vecchia scuola di copia, incolla, comprimi e invia l'e-mail, che la maggior parte dei progettisti di PCB conosce bene. C'è anche la questione della clonazione dei progetti e della creazione di una cronologia delle revisioni da un repository di codice.

Se sei un progettista hardware, come puoi sfruttare i sistemi di controllo delle versioni per il tuo progetto hardware? I sistemi di controllo delle versioni esterni impongono un passaggio in più nel flusso di lavoro: i file devono essere controllati, modificati e le revisioni reinserite nel controllo di versione. Gli utenti di Altium Designer® possono sfruttare le funzionalità di sincronizzazione di Altium 365 per rispecchiare il sistema di controllo delle versioni in una piattaforma cloud gestita. Gli utenti possono anche migrare il repository esterno SVN o Git nel sistema di controllo delle versioni su Altium 365.

Perché utilizzare il controllo della versione nel software di progettazione PCB?

Dopo aver parlato di questo argomento con più progettisti, ho scoperto che le aziende più grandi hanno alcuni modi interessanti per catalogare e organizzare: i progetti, i documenti PCB, gli schematici, le librerie e qualsiasi informazione necessaria nella progettazione PCB. Probabilmente i due metodi più comuni per organizzare i dati di progettazione sono per progetto o per tipo di file e numero di parte/progetto. In ogni caso, quando manca un sistema di controllo delle versioni, probabilmente un team archivia un grosso gruppo di progetti in una cartella da qualche parte.

Ci sono alcuni casi in cui è una buona idea inserire i progetti hardware e PCB in un sistema di controllo delle versioni

  • Ci sono più collaboratori che lavorano su un progetto
  • Le revisioni del progetto devono essere monitorate nel tempo senza eseguire copie ripetute
  • Un team potrebbe dover tornare alla versione precedente di un progetto
  • Un progetto deve essere clonato rapidamente per un riutilizzo successivo
  • Potrebbe essere necessario clonare, tracciare e ripristinare i file specifici di un progetto

I sistemi di controllo delle versioni aiutano a semplificare tutte queste attività e la scelta per un team di progettazione PCB è quale sistema di controllo delle versioni utilizzare. Gli utenti di Altium Designer hanno la possibilità di utilizzare il repository Git integrato in Altium 365.

Controllo delle versioni interno o esterno?

Il vantaggio dell'utilizzo del sistema di controllo delle versioni interno in Altium 365 è che qualsiasi progetto in controllo delle versioni può essere sincronizzato e aperto direttamente in Altium Designer. Non esiste una procedura di checkout manuale dei file e le revisioni dei progetti possono essere sincronizzate su Altium 365 con pochi clic. Inoltre, ogni elemento in un progetto PCB è idoneo per la sincronizzazione e la migrazione in Altium 365.

Tuttavia, in alcuni casi è importante avere a disposizione un sistema di controllo delle versioni esterno. I progetti di progettazione di PCB possono essere molto complessi e possono riguardare molto più del semplice circuito stampato, coinvolgendo componenti meccanici, una serie di documenti, il codice per software/firmware integrato e altri elementi essenziali che non sono ancora presenti come oggetti gestiti in Altium 365. Esiste anche il caso in cui un'azienda si occupa di dati privilegiati per un progetto e non è autorizzata a mettere i dati su un server che non controlla direttamente. In questi casi, è opportuno sincronizzare solo i dati pertinenti del progetto PCB, mentre altri dati possono essere conservati nel repository esterno.

Sincronizzazione con il controllo delle versioni interno con Simple Sync

Se hai già utilizzato Altium Designer con un sistema di controllo delle versioni, potresti aver notato una cartella nascosta ".git" nelle cartelle di progetto. Con la presenza di questa cartella, Altium Designer indica che per questo progetto è attivo un sistema di controllo delle versioni. Non appena la cartella .git viene riconosciuta in una cartella di progetto, Altium Designer entrerà in modalità Simple Sync e si preparerà alla sincronizzazione con Altium 365.

Controllo versione Git
Questa cartella indica che un sistema di controllo delle versioni è attivo per questo set di file.

Sono disponibili alcune opzioni per la sincronizzazione locale con il controllo delle versioni:

Crea la cartella .git localmente utilizzando le seguenti voci della riga di comando Git Bash dalla cartella del progetto:

  • git init
  • git add *.*
  • git remote add [repo_name] [https://repo_address]

Utilizzare TortoiseGit o un altro strumento per creare la cartella .git locale

Utilizzare il comando “Make Available Online” (Rendi disponibile online) nel pannello dei progetti

Una volta aperto il progetto in Altium Designer, la presenza della cartella .git attiverà Simple Sync. È quindi possibile utilizzare i comandi standard Push e Commit per posizionare il progetto nel controllo delle versioni formale di Altium 365. L'utilizzo di strumenti di controllo delle versioni esterni consente di creare localmente questi repository in batch e di sincronizzarli nuovamente con un Altium 365 Workspace quando necessario.

Disattivazione del controllo delle versioni esterno e migrazione

Quando un progetto gestito viene aperto in Altium Designer, i file vengono estratti dal controllo delle versioni interna o esterna allo stesso modo. Questo è un ottimo metodo per le aziende che hanno una grande quantità di dati in un VC esterno, in quanto possono assicurarsi che i progetti Altium siano sincronizzati con il sistema di controllo delle versioni principale. Tuttavia, se desideri eseguire la migrazione completa al sistema di controllo delle versioni in Altium 365, esistono alcuni modi per farlo.

Il modo più semplice per disattivare il controllo delle versioni del progetto è eliminare la cartella .git nella cartella del progetto. Purtroppo, con questa azione viene rimossa tutta la cronologia delle revisioni, quindi non è il modo più pulito per estrarre un progetto dal sistema di controllo delle versioni esterno.

Una volta estratto il progetto dal sistema esterno, è possibile inserirlo immediatamente nel sistema di controllo delle versioni interno di Altium 365 con le opzioni sopra elencate. Probabilmente l'opzione migliore è usare Project Packager:

  1. Estrarre il progetto gestito esistente dal controllo della versione esterno.
  2. Aprire il progetto estratto in Altium Designer.
  3. Usare Project Packager all'interno di Altium Designer per creare una copia del progetto.
  4. Sincronizza questo nuovo progetto con il controllo interno della versione in Altium 365 utilizzando il comando “Make Available Online” (Rendi disponibile online) nel pannello Progetti.

Project Packager creerà uno snapshot del progetto, senza il bagaglio del controllo delle versioni. Rimuoverà inoltre tutti i collegamenti al progetto se è stato precedentemente reso disponibile in Workspace.

Controllo della versione su Altium Designer
Due comandi essenziali per rimuovere un progetto dal controllo delle versioni esterne.

Ora è possibile eliminare completamente il progetto dal vecchio repository o abbandonarlo completamente. Puoi anche lasciare questo repository per altri usi eventualmente rilevanti per il progetto ma che non implicano attività in Altium Designer.

Infine, se sei più avventuroso e vuoi che tutto sia sincronizzato tra i sistemi di controllo delle versioni, dovrai creare uno script che esegua il mirroring. Ari Mahpour è stato così generoso da scrivere alcuni ottimi articoli sulla creazione di un flusso di lavoro basato su Git per gli utenti di Altium Designer:

Inoltre, tutto quanto detto sopra è stato discusso in termini di Git, ma è anche possibile creare repository SVN gestiti con il controllo delle versioni. Leggi questa guida nella documentazione per saperne di più.

Le funzioni interne di controllo delle versioni di Altium

I produttori e i progettisti PCB possono oggi condividere i dati di progetto e collaborare facilmente utilizzando la piattaforma Altium 365™. I team di progettazione PCB possono utilizzare le funzioni interne di controllo delle versioni per la gestione dei dati di progettazione e tutto si integra con gli strumenti di progettazione di eccellenza di Altium Designer®. Altium 365 ti consente di condividere i dati del tuo progetto con progettisti, produttori e clienti all'interno di un ambiente sicuro.

Questo è solo un piccolo esempio di ciò che è possibile realizzare con Altium Designer tramite Altium 365. Richiedi oggi stesso la prova gratuita di Altium o segui uno dei nostri webinar on-demand!

Sull'Autore

Sull'Autore

Zachariah Peterson ha una vasta esperienza tecnica nel mondo accademico e industriale. Prima di lavorare nel settore dei PCB, ha insegnato alla Portland State University. Ha condotto la sua Fisica M.S. ricerche sui sensori di gas chemisorptivi e il suo dottorato di ricerca in fisica applicata, ricerca sulla teoria e stabilità del laser casuale. Il suo background nella ricerca scientifica abbraccia temi quali laser a nanoparticelle, dispositivi semiconduttori elettronici e optoelettronici, sistemi ambientali e analisi finanziaria. Il suo lavoro è stato pubblicato in diverse riviste specializzate e atti di conferenze e ha scritto centinaia di blog tecnici sulla progettazione di PCB per numerose aziende. Zachariah lavora con altre società del settore PCB fornendo servizi di progettazione e ricerca. È membro della IEEE Photonics Society e dell'American Physical Society.

Risorse correlate

Documentazione Tecnica Correlata

Tornare alla Pagina Iniziale
Thank you, you are now subscribed to updates.