 ebeb15460c
			
		
	
	ebeb15460c
	
	
	
		
			
			Asciidoc may fail to render link attributes for external links supposed to open in a new window correctly. This change adds :linkattrs: to the beginning of such files to force parsing link attributes correctly. Bug: Issue 12068 Change-Id: If18be60de646ff78f672239dd4fa435fd4fd92ab
		
			
				
	
	
		
			114 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| :linkattrs:
 | |
| = same Change-Id in multiple changes
 | |
| 
 | |
| With this error message Gerrit rejects to push a commit if it
 | |
| contains the same Change-Id as a predecessor commit.
 | |
| 
 | |
| The reason for rejecting such a commit is that it would introduce, for
 | |
| the corresponding change in Gerrit, a dependency upon itself. Gerrit
 | |
| prevents such dependencies between patch sets within the same change
 | |
| to keep the review process simple. Otherwise reviewers would not only
 | |
| have to review the latest patch set but also all the patch sets the
 | |
| latest one depends on.
 | |
| 
 | |
| This error is quite common, it appears when a user tries to address
 | |
| review comments and creates a new commit instead of amending the
 | |
| existing commit. Another possibility for this error, although less
 | |
| likely, is that the user tried to create a patch series with multiple
 | |
| changes to be reviewed and accidentally included the same Change-Id
 | |
| into the different commit messages.
 | |
| 
 | |
| 
 | |
| == Example
 | |
| 
 | |
| Here an example about how the push is failing. Please note that the
 | |
| two commits 'one commit' and 'another commit' both have the same
 | |
| Change-Id (of course in real life it can happen that there are more
 | |
| than two commits that have the same Change-Id).
 | |
| 
 | |
| ----
 | |
|   $ git log
 | |
|   commit 13d381265ffff88088e1af88d0e2c2c1143743cd
 | |
|   Author: John Doe <john.doe@example.com>
 | |
|   Date:   Thu Dec 16 10:15:48 2010 +0100
 | |
| 
 | |
|       another commit
 | |
| 
 | |
|       Change-Id: I93478acac09965af91f03c82e55346214811ac79
 | |
| 
 | |
|   commit ca45e125145b12fe9681864b123bc9daea501bf7
 | |
|   Author: John Doe <john.doe@example.com>
 | |
|   Date:   Thu Dec 16 10:12:54 2010 +0100
 | |
| 
 | |
|       one commit
 | |
| 
 | |
|       Change-Id: I93478acac09965af91f03c82e55346214811ac79
 | |
| 
 | |
|   $ git push ssh://JohnDoe@host:29418/myProject HEAD:refs/for/master
 | |
|   Counting objects: 8, done.
 | |
|   Delta compression using up to 2 threads.
 | |
|   Compressing objects: 100% (2/2), done.
 | |
|   Writing objects: 100% (6/6), 558 bytes, done.
 | |
|   Total 6 (delta 0), reused 0 (delta 0)
 | |
|   To ssh://JohnDoe@host:29418/myProject
 | |
|   ! [remote rejected] HEAD -> refs/for/master (same Change-Id in multiple changes.
 | |
|   Squash the commits with the same Change-Id or ensure Change-Ids are unique for each commit)
 | |
|   error: failed to push some refs to 'ssh://JohnDoe@host:29418/myProject'
 | |
| 
 | |
| ----
 | |
| 
 | |
| If it was the intention to rework a change and push a new patch
 | |
| set, the problem can be fixed by squashing the commits that contain the
 | |
| same Change-Id. The squashed commit can then be pushed to Gerrit.
 | |
| 
 | |
| To squash the commits, use `git rebase -i` to do an interactive rebase. For
 | |
| the example above where the last two commits have the same Change-Id,
 | |
| this means an interactive rebase for the last two commits should be
 | |
| done. For further details about the git rebase command please check
 | |
| the link:http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html[Git documentation for rebase,role=external,window=_blank].
 | |
| 
 | |
| ----
 | |
|   $ git rebase -i HEAD~2
 | |
| 
 | |
|   pick ca45e12 one commit
 | |
|   squash 13d3812 another commit
 | |
| 
 | |
|   [detached HEAD ab37207] squashed commit
 | |
|    1 files changed, 3 insertions(+), 0 deletions(-)
 | |
|   Successfully rebased and updated refs/heads/master.
 | |
| 
 | |
|   $ git log
 | |
|   commit ab37207d33647685801dba36cb4fd51f3eb73507
 | |
|   Author: John Doe <john.doe@example.com>
 | |
|   Date:   Thu Dec 16 10:12:54 2010 +0100
 | |
| 
 | |
|       squashed commit
 | |
| 
 | |
|       Change-Id: I93478acac09965af91f03c82e55346214811ac79
 | |
| 
 | |
|   $ git push ssh://JohnDoe@host:29418/myProject HEAD:refs/for/master
 | |
|   Counting objects: 5, done.
 | |
|   Writing objects: 100% (3/3), 307 bytes, done.
 | |
|   Total 3 (delta 0), reused 0 (delta 0)
 | |
|   To ssh://JohnDoe@host:29418/myProject
 | |
|    * [new branch]      HEAD -> refs/for/master
 | |
| ----
 | |
| 
 | |
| If it was the intention to create a patch series with multiple
 | |
| changes to be reviewed, each commit message should contain the
 | |
| Change-Id of the corresponding change in Gerrit.  If a change in
 | |
| Gerrit does not exist yet, the Change-Id should be generated (either
 | |
| by using a link:cmd-hook-commit-msg.html[commit hook] or by using EGit) or the Change-Id could be
 | |
| removed (not recommended since then amending this commit to create
 | |
| subsequent patch sets is more error prone). To change the Change-Id
 | |
| of an existing commit do an interactive link:http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html[git rebase,role=external,window=_blank] and fix the
 | |
| affected commit messages.
 | |
| 
 | |
| 
 | |
| GERRIT
 | |
| ------
 | |
| Part of link:error-messages.html[Gerrit Error Messages]
 | |
| 
 | |
| SEARCHBOX
 | |
| ---------
 |