Perché è preferibile scrivere un messaggio di commit in stato attuale / imperativo? [duplicare]

16

Spesso leggo / ascolto che i buoni messaggi di commit dovrebbero essere scritti nel tempo presente o usare l'umore imperativo quando si descrive il cambiamento, ad es. Fix xyz anziché Fixed xyz .

Quali sono i vantaggi di farlo? Ci sono differenze tra i vari VCS (in genere li leggo su git ma forse perché lavoro principalmente con git)?

    
posta oschrenk 20.07.2012 - 16:40
fonte

4 risposte

4

Un altro angolo da considerare è l'ambito del commit e la tua prospettiva (principalmente per VCS distribuiti) ... Puoi creare tutta la cronologia locale che desideri, ma diventa solo passato dopo che è stata unita al ramo del codice primario.

In altre parole, il lead del progetto deve rivederlo e applicano il mio commit per "correggere YYY". Il bug stesso diventa "riparato" solo quando qualcuno lo autorizza e lo unisce al progetto.

Per i sistemi centralizzati, il passato sembra più accurato, almeno da questa prospettiva.

    
risposta data 20.07.2012 - 21:33
fonte
10

Quando usi "Fixed XYZ" puoi importarlo direttamente nel tuo log delle modifiche. Ad esempio Changelog PHP.

18-Jul-2013

  • Core:
    • Fixed bug #65254 (Exception not catchable when exception thrown in autoload with a namespace).
    • Fixed bug #65088 (Generated configure script is malformed on OpenBSD).
    • Fixed bug #65108 (is_callable() triggers Fatal Error).
    • Fixed bug #65035 (yield / exit segfault).
    • Fixed bug #65161 (Generator + autoload + syntax error = segfault).
    • Fixed bug #65226 (chroot() does not get enabled).
    • hex2bin() raises E_WARNING for invalid hex string.
  • OPcache:
    • Fixed bug #64827 (Segfault in zval_mark_grey (zend_gc.c))...
    
risposta data 20.07.2012 - 17:03
fonte
9

A quanto ho capito, il tempo presente significa che il commit stesso risolve il problema, non lo sviluppatore che potrebbe essere implicito usando il passato - "lo sviluppatore ha risolto il problema".

    
risposta data 20.07.2012 - 16:46
fonte
4

Come accennato un po ', per i sistemi di controllo delle versioni centralizzati , il passato sembra più accurato (Es: risolto il problema del looping). Perché, ha espresso il committed and completed work .

Altrimenti, sembrerebbe TODO List (Ex: Risolvi i problemi di looping), che deve essere fatto in un prossimo futuro.

    
risposta data 21.07.2012 - 07:05
fonte

Leggi altre domande sui tag