💾 Archived View for it.omarpolo.com › articoli › espansione-delle-keyword-rcs.gmi captured on 2023-01-29 at 15:50:31. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2021-11-30)
-=-=-=-=-=-=-
RCS è un programma per la gestione delle versioni (letteralmente “Revision Control System”.) A differenza di VCS più evoluti (CVS, Git, …) RCS lavora sulla base di singoli file.
Con RCS ogni file ha un numero di versione, inizialmente 1.1, che viene incrementato di uno dopo ogni commit (e.g. 1.2, 1.3, … 1.134.) Inoltre, se nei sorgenti sono presenti alcune parole chiavi, come $Id$ (nota ai lettori: ho inserito uno zero-width-space dopo il primo $) che vengono espansi e/o aggiornati durante il commit.
Per quanto per progetti grandi magari questo sia poco utile e/o possibilmente confusionario, soprattutto se si lavora con più branch, per progetti singoli e/o mono-branch lo trovo incredibilmente utile.
Grazie a questo stratagemma posso fare il “checkout” (i.e. estrarre dal repository un solo file) e sapere in modo semplice se sto usando l’ultima versione oppure no.
Un esempio è la presentazione di ieri al linux day: nella prima slide è presente il tag CVS relativo al commit che identifica il file come revisione 1.15. In questo modo, quando poi condivido la presentazione via altri mezzi, è semplice sapere se ho condiviso la stessa versione oppure no. (Certo, potrei fare il “simpatico” e modificare la presentazione in modo che riporti lo stesso tag, ma supponiamo una buona condotta da parte mia.)
Un altro esempio è questo blog, ogni file ha in fondo l’espansione per identificare la revisione del file. Per molte pagine sarà semplicemente 1.1, ma se poi devo tornare indietro a modificare un articolo il numero di versione verrà incrementato.
Inoltre, trovo che uno schema di versionamento con revisioni che vengono incrementate in questo modo sia più intuitivo di una sfilza di caratteri alfanumerici che identificano un commit su git.
Ma la vera applicazione killer delle keyword RCS per me è la gestione di file personali. Posso tracciare su un repo personale CVS degli script, farne il checkout e verificare in un attimo se sto usando la versione più aggiornata su qualche altro computer oppure no.
Credo che userò sempre di più RCS e/o CVS per la gestione di progetti personali.
$BlogIt: espansione-delle-keyword-rcs.gmi,v 1.1 2021/10/24 08:08:27 op Exp $