2014-05-22 7 views
5

ich einige Änderungen vorgenommen, verpflichtet sie und schob den Zweig zu Gerrit (git push gerrit). Nun meine Änderungen erscheinen nicht in Gerrit und ich nehme an, das liegt daran, dass ich die Änderungen manuell statt mit git review geschoben. Als ich git review jetzt laufen, bekommen Im diesen Fehler:Gerrit:! [Remote abgelehnt] HEAD -> Refs/publish/Master (keine neuen Änderungen)

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' 

Wie kann ich Gerrit sagen, dass meine changeset prüft werden muss?

+1

Was ist der Alias-Name 'git review' für stehen? –

+1

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

+0

einfachste Lösung wäre ein Super-Moll bearbeiten zu machen (Kommentar etwas bearbeiten), zu ergänzen, die verpflichten und mit dem richtigen Befehl wiederholt –

Antwort

3

ich glaube, das Problem ist, dass die bereits in entfernten Niederlassungen begehen. Aus diesem Grund gibt es keine neuen Änderungen bei Push. Versuchen Sie zuerst, remove das Commit von Remote-Zweig, und drücken Sie dann das Commit, um Zweig zu überprüfen.

+0

Wird dies nicht mit Gerrits internen Datenbank? – stackular

+0

Ich denke, das Problem ist, dass auf dem Remote-Zweig bereits ein Commit mit diesem changeId Sie versuchen zu schieben Zweig als auch zu überprüfen. Nein, es wird seit diesem commit mit dieser changeId noch nicht überprüft - also kein Eintrag dafür in der Gerrit-Datenbank. – HiB

5

können Sie entfernen, die von entfernten Zweig begehen oder Sie können diese

git commit --amend 

tun dies einen neuen Patch schaffen

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

Für mich passierte das, als ich den gleichen Patch für Master und dann für einen Feature-Brach schob. Das Problem war, dass die beiden Patches die gleiche Change-ID hatten, so dass der zweite Push abgelehnt wurde. Nach dem commit - es hat gut funktioniert. –

0

ich gefunden habe, dass git review keinen Zweig mit nicht einreichen Änderungen. Es sagt im Grunde: "Da es keine Änderungen in Ihrem Commit gibt, gibt es keinen Grund zu unterwerfen ... also werde ich nicht". Im Gegensatz zu deiner Situation ist mir dies passiert, als beim vorherigen Push ein Fehler auftrat.

Was ich in diesen Fällen getan habe, ist einfach eine geringfügige Änderung hinzufügen (wie eine leere Zeile hinzufügen), so dass gerrit Dinge wie anders sieht und dann funktioniert es.

Eine andere Sache, die Sie tun könnten (abhängig von dem von Ihrer Organisation verwendeten Prozess), besteht darin, die Change-ID aus Ihrem Änderungsprotokoll zu entfernen (git commit --amend) und dann git review zu erstellen und so einen neuen Review-Set zu erstellen wie Gerrit es betrifft.

-1

diesen Fehler folgen zu vermeiden

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

einfach diese Schritte

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