Controllo del documento

4

Sono stato incaricato dal mio capo di esaminare un sistema in cui creiamo script Python e li cariciamo su un server e memorizziamo i dettagli nel DB. Vuole anche che implementi il controllo delle versioni, in modo che se vengono apportate modifiche a uno script, la versione aggiornata abbia un numero di versione incrementato. Questa è l'area in cui non sono così sicuro.

Come andresti sull'implementazione di uno strumento di gestione delle versioni? È semplicemente un caso di incrementare un campo nel Database con il nuovo numero di versione? O è più complesso di quello che sembra inizialmente?

    
posta Darren Young 02.06.2011 - 11:47
fonte

3 risposte

4

La mia risposta è una domanda: perché dovresti (ri) implementare uno strumento di versionamento, quando potresti accoppiare uno esistente con la tua soluzione?

Revision Control Systems sono qui per questo scopo e sono molto bravi a farlo. Dubito che non puoi riutilizzare almeno uno di essi nel tuo contesto (o, per favore, fornirci maggiori dettagli), con l'appropriato serie di funzionalità e supporto di piattaforma necessari (consultare un confronto qui e here ).

E sì, è più complesso di quanto sembri:

  • Puoi avere aggiornamenti simultanei?
  • Devi monitorare la proprietà di ciascun aggiornamento?
  • Puoi avere succursali?
  • Devi essere in grado di tagliare i rami?
  • Vuoi essere in grado di ripristinare le versioni precedenti da una versione corrente?
  • Vuoi poter confrontare diverse versioni?
  • Questa lista va avanti per un po '!

E sì, puoi scrivere codice per interfacciarti con molti sistemi esistenti.

    
risposta data 02.06.2011 - 14:47
fonte
4

Sembra che ti stia chiedendo di reinventare un sistema di controllo della versione. Potrebbe sembrare un semplice sistema "mantieni la cronologia e il numero di revisione" ora, ma quando si presenterà l'opportunità verranno aggiunte più funzionalità e sarai diretto verso la "strada ancora un altro sistema di controllo della versione". Ci sono un sacco di VCS sulla maggior parte del supporto e "espansione delle parole chiave" che consente l'inclusione di "$ revision $" o parole chiave simili che verranno espanse dal vcs al momento del recupero al numero di revisione effettivo.

    
risposta data 02.06.2011 - 12:26
fonte
2

Se è solo Python Script, perché non usare SVN / Git / Mercurial / Whatever-source-code-versioning-system-you-prefer e un front end web per questo?

Forniscono tutti i numeri di versione, certamente di diversa leggibilità. ad esempio

  • svn fornisce un numero di versione come a numero intero che sale di 1 su tutto il repository ogni volta che si commette una modifica.
risposta data 02.06.2011 - 12:11
fonte

Leggi altre domande sui tag