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
 | 
						|
---------
 |