2014-05-22 14 views
5

Ho apportato alcune modifiche, li ho impegnati e ho spinto il ramo a Gerrit (git push gerrit). Ora le mie modifiche non vengono visualizzate in Gerrit e presumo che ciò sia dovuto al fatto che ho inviato manualmente le modifiche anziché utilizzare git review. Quando eseguo git review ora, Im ottenendo questo errore:Gerrit:! [remoto rifiutato] HEAD -> refs/publish/master (nessuna nuova modifica)

remote: Processing changes: refs: 1, done  
To ssh://[email protected]:29418/Project 
! [remote rejected] HEAD -> refs/publish/master (no new changes) 
error: failed to push some refs to 'ssh://[email protected]:29418/Project' 

Come posso dire che la mia Gerrit changeset deve essere rivisto?

+1

Cosa significa l'alias 'git review' stand for? –

+1

@TimCastelijns: https://github.com/openstack-infra/git-review – lrineau

+0

La soluzione più semplice sarebbe quella di eseguire una modifica super piccola (modificare un commento o qualcosa del genere), modificare il commit e riprovare con il comando corretto –

risposta

3

Penso che il problema sia che il commit è già nel ramo remoto. Questo è il motivo per cui non ci sono nuovi cambiamenti in push. Provare prima con remove il commit dal ramo remoto, quindi premere il commit per esaminare il ramo.

+0

Non si scherza con il database interno di Gerrit? – stackular

+0

Penso che il problema sia che sul ramo remoto c'è già un commit con quel cambiamento, anche se stai provando a spingere per rivedere il ramo. No, dal momento che questo commit con quel changeId non è ancora stato revisionato, quindi nessuna voce per questo nel database di Gerrit. – HiB

5

è possibile rimuovere che si impegnano di ramo remoto o si può fare questo

git commit --amend 

questo creerà una nuova patch

git push gerrit HEAD:refs/for/your_branch 
+0

Per me è successo quando ho spinto la stessa patch per master e poi per feature brach. Il problema era che le due patch avevano lo stesso id di modifica, quindi la seconda spinta veniva respinta. Dopo il commit, ha funzionato bene. –

0

ho trovato che git review non presenterà un ramo senza i cambiamenti. In pratica sta dicendo: "poiché non ci sono cambiamenti nel tuo commit, non c'è motivo di presentare ... quindi non lo farò". A differenza della tua situazione, mi è successo quando c'è stato un errore nella spinta precedente.

Quello che ho fatto in questi casi è semplicemente aggiungere una piccola modifica (come aggiungere una riga vuota) in modo che gerrit veda le cose come diverse e poi funzioni.

Un'altra cosa che si potrebbe fare (a seconda del processo utilizzato dall'organizzazione) è rimuovere l'ID di modifica dal registro delle modifiche (utilizzando git commit --amend) e quindi eseguire git review, creando così un nuovo set di revisione, in sostanza guardando oltre come Gerrit è interessato.

-1

Per evitare questo errore

! [remote rejected] HEAD -> refs/for/develop (no new changes) 

Basta seguire questi passaggi

git commit --amend # this will create a new patch 
git push gerrit HEAD:refs/for/your_branch