2011-10-22 11 views
8

Bazaar support adding meta data to commit to record chi è l'autore reale di un cambiamento è contro la persona che commette il cambiamento:E 'possibile e come "dare credito per un cambiamento" per Mercurial/Git come nel Bazaar?

 
    $ bzr commit --author "Jane Rey <[email protected]>" \ 
       --author "John Doe <[email protected]>" 

Dopo aver aggiunto questo meta dati è accessibile tramite bzr log, come:

 
------------------------------------------------------------ 
revno: 105661 
fixes bug(s): http://debbugs.gnu.org/9414 
author: Oleksandr Gavenko 
committer: Juri Linkov 
branch nick: trunk 
timestamp: Mon 2011-09-05 12:55:11 +0300 
message: 
    * lisp/progmodes/grep.el (rgrep): Add "-type d". 

è possibile incorporare tali metadati in commit per Mercurial/Git?

risposta

9

In git avete il comando simile:

git commit --author="Name <[email protected]>" 

Ma di solito proviene da valori di configurazione pre-impostati.

Hg ha un contrassegno simile per l'impostazione dell'utente, ma non fa una distinzione tra autore e committer. Ma c'è un extension to do that.

Entrambi git e hg non hanno il concetto di impostare più autori per un commit. Sebbene ciò venga solitamente fatto nel messaggio di commit in qualche modo/convenzione predeterminato nel team

+0

Per Mercurial, vorrei raccomandare di menzionare quella persona nel messaggio di commit. I meta-dati aggiunti da quell'estensione non saranno visibili a meno che anche l'estensore non abbia installato quell'estensione, penso. –

1

Tali metadati sono incorporati per impostazione predefinita in git. Per vederlo basta provare a legare git log. Vedrai tutti i metadati associati a ciascun commit. È possibile impostare il nome utente e l'e-mail come specificato in questo tutorial. In sostanza è possibile impostare la tua email e nome come questo:

$ git config --global user.name "Scott Chacon"

$ git config --global user.email "[email protected]"

Inoltre, git ha un comando divertente chiamato blame che consente di vedere chi ha cambiato esattamente quale linea.

+0

Fornisci informazioni che già conosco ... Sto cercando un caso più avanzato in cui l'utente non può eseguire direttamente il commit ma può eseguire patch. E guardo all'abilità quando uno sviluppatore regolare applica la patch per incorporare il nome dell'autore originale per il commit dei metadati. – gavenkoa

+0

Siamo spiacenti, ma non hai mai specificato cosa hai fatto e non hai saputo nella tua domanda. Dovresti essere più specifico la prossima volta. –

+0

Supponiamo che questo flusso pulito dal contesto)) – gavenkoa

4

Mercurial non ha tale capacità di default. Non c'è modo di specificare direttamente un "committer" contro un "autore". Allo stesso modo c'è il supporto per un solo autore.

+0

Si dice che questo non è possibile per impostazione predefinita. Questo significa che alcune estensioni esterne consentono tale cosa? Ne conosci uno? – gavenkoa

Problemi correlati