Il mio team sta utilizzando SVN per archiviare molto più del semplice codice sorgente - stiamo memorizzando tutti i tipi di file. Un processo che sto lavorando alla progettazione viene utilizzato per generare report diff ogni volta che un certo foglio di calcolo Excel viene aggiornato e riconosciuto da un sottoinsieme del team. (Questo foglio di calcolo è generato automaticamente da un processo separato, nessun essere umano lo tocca mai.)
Ecco il mio flusso di lavoro:
- Foglio di calcolo Excel generato (chiamalo
raw.xlsx
). Scarico il file e impegno su SVN. - Un hook pre-commit genera un nuovo foglio di calcolo di Excel (chiamalo
to_review.xlsx
) e impegna quello . Una email viene inviata al mio team dicendo che è stato rilevato un diff traraw.xlsx:HEAD
eraw.xlsx:PREV
. - Qualcuno nel mio team rivede
to_review.xlsx
, modifica secondo necessità e lo impegna. - Un hook pre o post-commit quindi modifica
to_review.xlsx
per aggiornare una scheda in modo che rifletta le modifiche e impegna che . (Facoltativamente: spara un email dicendo che devi aggiornare la tua copia di lavoro dito_review.xlsx
.) Genera anche un filereport.pdf
che riepiloga il diff diraw.xlsx:HEAD
eraw.xlsx:PREV
.
Come va bene o no, va bene usare SVN in questo modo - cioè, per modificare il file che è stato appena commesso da un utente umano e re-commitarlo? La modifica non sarà mai contro ciò che l'umano ha aggiunto / rimosso, ma facendo ciò l'umano ha immediatamente una copia scaduta non appena si impegna. Non so in che altro modo avvicinarmi a questo - non possiamo andare direttamente da raw.xlsx
a report.pdf
, un essere umano deve essere nel ciclo con to_review.xlsx
.