2009-08-19 7 views
5

Come si fa a distinguere tra "patch" e "upgrade"? Dove disegna la linea?Patch vs. Upgrade

Una specifica specifica indica che è necessario eseguire "X" ogni volta che rilascio un aggiornamento al prodotto. Devo disegnare la linea da qualche parte. Non voglio violare questa specifica, ma non l'ho mai definita in modo esplicito prima.

+0

Come addendum dopo aver visto le risposte ... è un "bug" o una "nuova richiesta di funzionalità" se un miglioramento promesso non è lì? –

risposta

7

Per quanto riguarda il controllo delle versioni del software (in particolare semantic versioning), l'aggiornamento delle patch aggiornerà il numero di versione della patch del software e aggiornerà il numero di versione secondario. Per le applicazioni che seguono delle versioni semantica (in formato MAJOR.MINOR.PATCH), una patch è definita come:

incremento del [...] versione PATCH quando si effettua correzioni di bug retro-compatibile.

Nella maggior parte dei casi, patch aggiornano il terzo numero, il manutenzione versione. Gli aggiornamenti aggiornano il numero di versione minore . Inoltre, le patch di solito risolvono i problemi mantenendo la compatibilità, mentre gli aggiornamenti possono risolvere entrambi i problemi e aggiungere nuove funzionalità che potrebbero non essere compatibili con le versioni precedenti. Si può inoltre aggiungere un numero di build o la revisione oltre il numero di patch:

MAJOR.MINOR.PATCH or MAJOR.MINOR.PATCH.BUILD 

Quindi un numero di versione 2.1.3.089 è la seconda versione principale, prima revisione minore (quindi non è stata una importante aggiornamento), terza costruzione manutenzione (quindi sono state rilasciate tre patch dalla versione 2.1.0.X) e la build 089 (nessuna importanza per le build/patch, può essere considerata come metadata aggiuntivo che specifica un ID/numero di versione univoco).

Il Wikipedia article sul controllo delle versioni del software è una lettura interessante. Il motivo per cui ho specificato lo stile M.M.M.B è che viene comunemente utilizzato in Visual Studio durante lo sviluppo dell'applicazione.

In alcuni casi, tuttavia, viene omesso l'ultimo numero (compilazione) - per gli utenti finali, raramente è mai necessario. È principalmente a scopo di sviluppo.

4

Non penso ci sia alcuna "definizione standard" sebbene la definizione generalmente accettata sia che una patch corregge bug e un aggiornamento introduce nuove funzionalità.

Dipende veramente da come le persone che hanno scritto le specifiche hanno definito patch e aggiornamenti, non su come io o chiunque altro lo definisca.

4

Una patch è generalmente qualcosa che viene eliminato per correggere un errore critico, un problema o un problema di sicurezza. Gli aggiornamenti o le versioni sono probabilmente più sulla falsariga di funzionalità aggiuntive e funzionalità del software.

1

Per me la cosa più importante è ciò che guida il problema.

Una patch di solito risolve un problema e quindi richiesto da un utente.

Un aggiornamento è di solito per aggiungere nuove funzionalità e anche se a volte guidato da utenti sono più spesso avviati internamente.

0

C'è anche un sacco di marketing coinvolto.

Non sono disposto a pagare una patch mentre potrei pagare un aggiornamento (sto osservando gli utenti OSX).

0

Se la specifica non definisce la patch o l'aggiornamento, allora puoi disegnare la linea dove preferisci (e pensa di poterla fare franca). Supponendo che tu non voglia tornare allo scrittore delle specifiche per avere una guida, tracciare la linea tra "correzione bug" e "nuova funzionalità".