2013-07-29 13 views
5

È possibile avere un ID di modifica "personalizzato" in un messaggio di commit gerrit?Custom change-id in gerrit

Per esempio,

- My commit message 

Change-Id: BM10945 

Dove BM10945 è il biglietto bluemine il cambiamento è per.

Continuo a ricevere uno (missing or invalid Change-Id line format in commit message footer) da gerrit e non posso eseguire il commit.

risposta

4

No, non è possibile. È necessario utilizzare il proprio formato Change-Id di Gerrit. È possibile avere una generazione automatica per il commit mediante l'installazione dello script di hook incluso con Gerrit. Ulteriori informazioni sono disponibili allo Gerrit Change-Ids documentation.

+0

Questo è quello che temevo - grazie @Carl. – Jarrett

+0

perché? qual è la specifica del formato? – SummerBreeze

+0

@SummerBreeze Deve iniziare con la capitale 'I' – adib

5

È possibile utilizzare la configurazione commentlink per analizzare automaticamente i numeri di ticket nei messaggi di commit e mostrarli come collegamenti nell'interfaccia Web di Gerrit.

E.g. per i più Redmine:

[commentlink "redmine"] 
    match = "(BM[0-9]+)" 
    html = "<a href='http://www.redmine.org/issues/$1'>$1</a>" 

Inoltre, è possibile utilizzare il TrackingID to add a footer containing a link to a tracking database anche se nota che se si sta utilizzando la configurazione più semplice, che utilizza il database H2 incorporato, la si deve eseguire il programma ScanTrackingIds manualmente quando Gerrit non è in linea che non lo rende fattibile.

Infine, se si desidera qualche altra forma di collegamento dei ticket ai ticket di ridistribuzione, come aggiornamenti via e-mail contenenti un collegamento o azioni gerrit (pubblica patchset, unione) aggiornare il ticket, utilizzare Gerrit hooks (leggermente diverso rispetto ai normali hook git) e some scripting per collegarli.

+0

Ooo è fantastico! Potremmo finire per farlo, grazie @Motti! – Jarrett

0

In complemento Carl Norum's answer, è possibile infatti creare il proprio ChangeId finché:

  • Si inizia con una I maiuscola;
  • Contiene 32 caratteri esadecimali;

Un formato di esempio potrebbe essere:

I201611160832aa0000000000786176696572 

Si inizia con la data e l'ora (YYYYMMDDHHMM), seguito da un separatore, e quindi il nome del committer in formato esa (qui ho usato ASCII , ma si potrebbe usare un altro formato), imbottito con 00.